The Beyond Identity API defines methods for managing realms, directories, credentials, and applications.
All of the functionality available in the Beyond Identity Admin Console is also available through the API.
This API is currently in the early-access stage and is under active development. Feedback and suggestions are encouraged and should be directed to the Beyond Identity Developer Slack Channel.
All Beyond Identity API endpoints require authentication using an access token. The access token is generated through OAuth 2.0 or OIDC, using the authorization code flow or the client credentials flow. The simplest way to acquire an access token is through the Beyond Identity Admin Console. Under the "Applications" tab, select the "Beyond Identity Management API" application, navigate to the "API Tokens" tab, and then click on "Create token".
Alternatively, an access token may also be generated directly via the API by requesting a token for the "Beyond Identity Management API" Application.
curl https://auth-us.beyondidentity.com/v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID/token \
-X POST \
-u "$CLIENT_ID:$CLIENT_SECRET" --basic \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&scope=$SCOPES"
This will work for any application that you have configured to provide access to the Beyond Identity Management API Resource Server. The "Beyond Identity Management API" application is provided by default as part of the tenant onboarding process.
The access token must be provided in the Authorization
header of the
API request.
curl https://api-us.beyondidentity.com/v1/... \
-X $HTTP_METHOD -H "Authorization: Bearer $TOKEN"
To interact with the Beyond Identity API, all requests should be made over HTTPS.
The Beyond Identity API is generally structured as a resource-oriented API. Resources are represented as JSON objects and are used as both inputs to and outputs from API methods.
Resource fields may be described as read-only and immutable. A read-only field is only provided on the response. An immutable field is only assigned once and may not be changed after. For example, system-generated IDs are described as both read-only and immutable.
To create a new resource, requests should use the POST
method. Create
requests include all of the necessary attributes to create a new resource.
Create operations return the created resource in the response.
To retrieve a single resource or a collection of resources, requests should
use the GET
method. When retrieving a collection of resources, the
response will include an array of JSON objects keyed on the plural name of
the requested resource.
To update an resource, requests should use the PATCH
method. Update
operations support partial updating so requests may specify only the
attributes which should be updated. Update operations return the updated
resource in the response.
To delete a resource, requests should use the DELETE
method. Note that
delete operations return an empty response instead of returning the
resource in the response.
Example Response for a Realm
{
"id": "a448fe493e02fa9f",
"tenant_id": "000168dc50bdce49",
"display_name": "Test Realm",
"create_time": "2022-06-22T21:46:08.930278Z",
"update_time": "2022-06-22T21:46:08.930278Z"
}
Example Response for a Collection of Realms
{
"realms": [
{
"id": "a448fe493e02fa9f",
"tenant_id": "000168dc50bdce49",
"display_name": "Test Realm",
"create_time": "2022-06-22T21:46:08.930278Z",
"update_time": "2022-06-22T21:46:08.930278Z"
}
],
"total_size": 1
}
The API returns standard HTTP statuses and error codes.
Statuses in the 200 range indicate that the request was successfully fulfilled and there were no errors.
Statuses in the 400 range indicate that there was an issue with the request that may be addressed by the client. For example, client errors may indicate that the request was missing proper authorization or that the request was malformed.
Statuses in the 500 range indicate that the server encountered an internal issue and was unable to fulfill the request.
All error responses include a JSON object with a code
field and a
message
field. code
contains a human-readable name for the HTTP status
code and message
contains a high-level description of the error. The
error object may also contain additional error details which may be used by
the client to determine the exact cause of the error. Refer to each API
method's examples to determine the specific error detail types supported
for that method.
Invalid Access Token Example
If the provided access token is invalid, you will receive a 401 error. This error indicates that the token is not recognized and was not generated by Beyond Identity.
HTTP/1.1 401 Unauthorized
{
"code": "unauthorized",
"message": "unauthorized"
}
Permission Denied Example
If the provided access token does not have access to the requested resource, you will receive a 403 error. Access tokens are scoped at a minimum to your tenant. Any request for resources outside of your tenant will result in this error.
HTTP/1.1 403 Forbidden
{
"code": "forbidden",
"message": "forbidden"
}
Missing Resource Example
If the requested resource does not exist, you will receive a 404 error. The specific API method may return additional details about the missing resource.
HTTP/1.1 404 Not Found
{
"code": "not_found",
"message": "group not found"
"details": [
{
"type": "ResourceInfo",
"resource_type": "Group",
"id": "4822738be6b7f658",
"description": "group not found"
}
],
}
Invalid Parameters Example
If the request body contains invalid parameters, you will receive a 400 error. The specific API method may return additional details about the invalid parameter.
HTTP/1.1 400 Bad Request
{
"code": "bad_request",
"message": "invalid parameters"
"details": [
{
"type": "FieldViolations"
"field_violations": [
{
"description": "missing",
"field": "group.display_name"
}
],
}
],
}
A tenant represents an organization in the Beyond Identity Cloud. Tenants contain all data necessary for that organization to operate.
Retrieve an Existing Tenant
To retrieve an existing tenant, send a GET request to /v1/tenants/$TENANT_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
Responses
Response samples
- 200
- 401
- 403
- 500
{- "id": "000176d94fd7b4d1",
- "display_name": "Test Tenant",
- "create_time": "2022-01-28T12:00:02.423Z",
- "update_time": "2022-04-19T15:17:21.186Z"
}
Patch a Tenant
To update only specific attributes of an existing tenant, send a PATCH request to /v1/tenants/$TENANT_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
Request Body schema: application/json
Updates to the specified tenant.
required | object (Tenant) A tenant represents an organization in the Beyond Identity Cloud. Tenants contain all data necessary for that organization to operate. | ||
|
Responses
Request samples
- Payload
{- "tenant": {
- "display_name": "Test Tenant"
}
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "000176d94fd7b4d1",
- "display_name": "Test Tenant",
- "create_time": "2022-01-28T12:00:02.423Z",
- "update_time": "2022-04-19T15:17:21.186Z"
}
A realm is a unique administrative domain within a tenant. Realms may be used to define multiple development environments or for isolated administrative domains.
Create a New Realm
To create a realm, send a POST request to /v1/tenants/$TENANT_ID/realms
. Values in the request body for read-only fields will be ignored.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
Request Body schema: application/json
required | object (Realm) A realm is a unique administrative domain within a tenant. Realms may be used to define multiple development environments or for isolated administrative domains. | ||||
|
Responses
Request samples
- Payload
{- "realm": {
- "display_name": "Test Realm",
- "classification": "SECURE_CUSTOMER"
}
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "19a95130480dfa79",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Realm",
- "classification": "SECURE_WORKFORCE",
- "create_time": "2022-05-18T18:00:01.167Z",
- "update_time": "2022-05-19T14:23:01.327Z"
}
List Realms for a Tenant
To list all realms for a tenant, send a GET request to
/v1/tenants/$TENANT_ID/realms
.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of realms in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "realms": [
- {
- "id": "19a95130480dfa79",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Realm",
- "create_time": "2022-05-18T18:00:01.167Z",
- "update_time": "2022-05-19T14:23:01.327Z"
}
], - "total_size": 1
}
Retrieve an Existing Realm
To retrieve an existing realm, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "19a95130480dfa79",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Realm",
- "classification": "SECURE_WORKFORCE",
- "create_time": "2022-05-18T18:00:01.167Z",
- "update_time": "2022-05-19T14:23:01.327Z"
}
Patch a Realm
To update only specific attributes of an existing realm, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
required | object (Realm) A realm is a unique administrative domain within a tenant. Realms may be used to define multiple development environments or for isolated administrative domains. | ||||
|
Responses
Request samples
- Payload
{- "realm": {
- "display_name": "Test Realm"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "19a95130480dfa79",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Realm",
- "classification": "SECURE_WORKFORCE",
- "create_time": "2022-05-18T18:00:01.167Z",
- "update_time": "2022-05-19T14:23:01.327Z"
}
Delete a Realm
To delete a realm, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID
. To be deleted, a realm must not have any identities, groups, or roles. All associated resources must first be deleted or you will receive a 409 error.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Responses
Response samples
- 401
- 403
- 404
- 409
- 500
{- "code": "unauthorized",
- "message": "unauthorized"
}
A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule.
Create a New Group
To create a group, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups
. Values in the request body for read-only fields will be ignored.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
required | object (Group) A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule. | ||||
|
Responses
Request samples
- Payload
{- "group": {
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators."
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
List Groups for a Realm
To list all groups for a realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/groups
.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of groups in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "groups": [
- {
- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
], - "total_size": 1
}
Retrieve an Existing Group
To retrieve an existing group, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
Patch a Group
To update only specific attributes of an existing group, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
Request Body schema: application/json
required | object (Group) A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule. | ||||
|
Responses
Request samples
- Payload
{- "group": {
- "display_name": "Realm Administrators"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
Delete a Group
To delete a group, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID
. To be deleted, a group must not have any members. Any existing members must first be deleted or you will receive a 409 error.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
Responses
Response samples
- 401
- 403
- 404
- 409
- 500
{- "code": "unauthorized",
- "message": "unauthorized"
}
Add Members to a Group
To add members to a group, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID:addMembers
. The request must contain at least one and no more than 1000 identity IDs.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
Request Body schema: application/json
identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be added to the group. |
Responses
Request samples
- Payload
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
Delete Members from a Group
To delete members from a group, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID:deleteMembers
. The request must contain at least one and no more than 1000 identity IDs.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
Request Body schema: application/json
identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be removed from the group. |
Responses
Request samples
- Payload
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
List Members for a Group
To list members belonging to a group, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID:listMembers
.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of members in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "identities": [
- {
- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
], - "total_size": 1
}
List Role Memberships for a Group
To list the roles to which a group is assigned, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID:listRoles
.
The request must include the resource_server_id
query parameter specifying
the resource server on which to filter the roles. If the specified resource
server does not exist, you will receive a 409 error.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of roles in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
query Parameters
resource_server_id | string non-empty The unique identifier of the resource server used to filter roles. |
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
{- "roles": [
- {
- "id": "fb785d40cbe4fc0d",
- "resource_server_id": "7b5a4325-00e0-4379-bd7b-3e5e7e30b09e",
- "realm_id": "bb26e0e8ecdef843",
- "tenant_id": "00010036778ce59f",
- "description": "Help Desk",
- "display_name": "Customer support personnel.",
- "create_time": "2023-02-14T18:18:58.332247Z",
- "update_time": "2023-02-14T18:18:58.332247Z"
}
], - "total_size": 1
}
An identity is a unique identifier that may be used by an end-user to gain access governed by Beyond Identity.
Create a New Identity
To create an identity, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities
. Values in the request body for read-only fields will be ignored.
If the request conflicts with an existing resource, you will receive a 409 error.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
required | object (Identity) An identity is a unique identifier that may be used by an end-user to gain access governed by Beyond Identity. | ||||||
|
Responses
Request samples
- Payload
{- "identity": {
- "display_name": "Test Identity",
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
{- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
List Identities for a Realm
To list identities for a realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/identities
.
The response will only contain identities matching the filter in the
request. If no filter is provided, the request will match all identities in
the realm. Currently, the only supported filter is
traits.username eq "$USERNAME"
.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of identities in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The filter is also maintained by the page token but it may not be overridden. If specified, the request filter must match the filter maintained by the page token, otherwise you will receive a 400 error. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
query Parameters
filter | string Filter to constrain the response. The response will only include resources matching this filter. Filters follow the SCIM grammar from RFC-7644 Section 3.4.2.2. |
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "identities": [
- {
- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
], - "total_size": 1
}
Retrieve an Existing Identity
To retrieve an existing identity, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
Patch an Identity
To update only specific attributes of an existing identity, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
If the request conflicts with an existing resource, you will receive a 409 error.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
Request Body schema: application/json
required | object (Identity) An identity is a unique identifier that may be used by an end-user to gain access governed by Beyond Identity. | ||||||
|
Responses
Request samples
- Payload
{- "identity": {
- "display_name": "Test Identity",
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
{- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
Delete an Identity
To delete an identity, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID
. To be deleted, an identity must not be a member of any groups or roles. The identity must must first be removed from all groups and roles or you will receive a 409 error.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
Responses
Response samples
- 401
- 403
- 404
- 409
- 500
{- "code": "unauthorized",
- "message": "unauthorized"
}
List Group Memberships for an Identity
To list the groups to which an identity belongs, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID:listGroups
.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of groups in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "groups": [
- {
- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators.",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
], - "total_size": 1
}
List Role Memberships for an Identity
To list the roles to which an identity is assigned, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID:listRoles
.
The request must include the resource_server_id
query parameter specifying
the resource server on which to filter the roles. If the specified resource
server does not exist, you will receive a 409 error.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of roles in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
query Parameters
resource_server_id | string non-empty The unique identifier of the resource server used to filter roles. |
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
{- "roles": [
- {
- "id": "fb785d40cbe4fc0d",
- "resource_server_id": "7b5a4325-00e0-4379-bd7b-3e5e7e30b09e",
- "realm_id": "bb26e0e8ecdef843",
- "tenant_id": "00010036778ce59f",
- "description": "Help Desk",
- "display_name": "Customer support personnel.",
- "create_time": "2023-02-14T18:18:58.332247Z",
- "update_time": "2023-02-14T18:18:58.332247Z"
}
], - "total_size": 1
}
A credential is also known as a passkey. This is the public-private key pair that belongs to an identity.
List Credentials for an Identity
To list all credentials for an identity, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credentials
.
$IDENTITY_ID
may be a wildcard (-
) to request all credentials across all
identities within the realm.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of credentials in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "credentials": [
- {
- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "state": "ACTIVE",
- "csr_type": "JWT",
- "jwk_json": "{\"crv\":\"P-256\",\"kty\":\"EC\",\"x\":\"2MRhz05PJPq3BUfB18AT3HqgWEkI3VpWUg1MWi8rz1g\",\"y\":\"YtvLYwGEqYQaoDVok2fVziJT4fu7DFPz3hy96FTAelQ\"}",
- "jwk_thumbprint": "UW-uVNL0mP1vcLjHrTBxibNgCEe_PD0HIsE3FrbYjPA=",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
], - "total_size": 1
}
Retrieve an Existing Credential
To retrieve an existing credential, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credentials/$CREDENTIAL_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
credential_id required | string Example: b5a31610800dda18 A unique identifier for a credential. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "state": "ACTIVE",
- "csr_type": "JWT",
- "jwk_json": "{\"crv\":\"P-256\",\"kty\":\"EC\",\"x\":\"2MRhz05PJPq3BUfB18AT3HqgWEkI3VpWUg1MWi8rz1g\",\"y\":\"YtvLYwGEqYQaoDVok2fVziJT4fu7DFPz3hy96FTAelQ\"}",
- "jwk_thumbprint": "UW-uVNL0mP1vcLjHrTBxibNgCEe_PD0HIsE3FrbYjPA=",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
Revoke a Credential
To revoke a credential, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credentials/$CREDENTIAL_ID:revoke
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
credential_id required | string Example: b5a31610800dda18 A unique identifier for a credential. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "state": "ACTIVE",
- "csr_type": "JWT",
- "jwk_json": "{\"crv\":\"P-256\",\"kty\":\"EC\",\"x\":\"2MRhz05PJPq3BUfB18AT3HqgWEkI3VpWUg1MWi8rz1g\",\"y\":\"YtvLYwGEqYQaoDVok2fVziJT4fu7DFPz3hy96FTAelQ\"}",
- "jwk_thumbprint": "UW-uVNL0mP1vcLjHrTBxibNgCEe_PD0HIsE3FrbYjPA=",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-06-14T05:55:23.823187Z"
}
A credential binding job defines the state of binding a new credential to an identity. The state includes creation of the credential binding job to delivery of the credential binding method to completion of the credential binding.
Create a New Credential Binding Job
To create an identity, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credential-binding-jobs
. Values in the request body for read-only fields will be ignored.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
Request Body schema: application/json
Credential binding job to be created.
required | object (CredentialBindingJob) A credential binding job defines the state of binding a new credential to an identity. The state includes creation of the credential binding job to delivery of the credential binding method to completion of the credential binding. | ||||||||
|
Responses
Request samples
- Payload
{- "job": {
- "delivery_method": "RETURN",
- "authenticator_config_id": "67bb0acf12e5c899"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 500
{- "credential_binding_job": {
- "id": "c4fc2d753ca22b14",
- "realm_id": "cdf4862dc4d49791",
- "tenant_id": "000183a77dd50fa9",
- "identity_id": "87fabad6956c6d4b",
- "delivery_method": "RETURN",
- "state": "LINK_SENT",
- "authenticator_config_id": "67bb0acf12e5c899",
- "expire_time": "2022-03-21T03:42:52.905657Z",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-03-15T05:55:23.823187Z"
},
}
List Credential Binding Jobs for an Identity
To list all credential binding jobs for an identity, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credential-binding-jobs
.
$IDENTITY_ID
may be a wildcard (-
) to request all credential binding
jobs across all identities within the realm.
The response will contain at most 200 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 20 items. There is no defined ordering of the list of credential binding jobs in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
skip | integer <uint32> >= 0 Default: 0 Number of items to skip. This is the zero-based index of the first result. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "credential_binding_jobs": [
- {
- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "credential_id": "9802966246819b35",
- "delivery_method": "EMAIL",
- "state": "COMPLETE",
- "authenticator_config_id": "67bb0acf12e5c899",
- "expire_time": "2022-03-21T03:42:52.905657Z",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-03-15T05:55:23.823187Z"
}
], - "total_size": 1
}
Retrieve an Existing Credential Binding Job
To retrieve an existing credential binding job, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID
/credential-binding-jobs/$CREDENTIAL_BINDING_JOB_ID`.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
credential_binding_job_id required | string Example: 5c4137af5e70413a A unique identifier for a credential binding job. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "credential_id": "9802966246819b35",
- "delivery_method": "EMAIL",
- "state": "COMPLETE",
- "authenticator_config_id": "67bb0acf12e5c899",
- "expire_time": "2022-03-21T03:42:52.905657Z",
- "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-03-15T05:55:23.823187Z"
}
A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email.
Create a New Theme
To create a theme, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID
. Values in the request body for read-only fields will be ignored. All non-read-only fields are optional and will be populated with defaults if unspecified.
Currently, each realm only supports a single theme. If a theme already exists for the realm, you will receive a 409 error.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
Theme to be created.
object (Theme) A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email. | |||||||||||||
|
Responses
Request samples
- Payload
{- "theme": {
- "email_realm_name": "Realm Administrators",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
{- "id": "88ef08fb-c3f9-44e2-b174-fbb239e1dc47",
- "tenant_id": "f36448f2ff094881",
- "realm_id": "aa6aabe6989bc4a5",
- "email_realm_name": "Realm Administrators",
- "create_time": "2022-07-28T18:00:00.000Z",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
Get the Active Theme
To retrieve the active theme for a realm, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/active
. If the realm has not specified the active theme, a default theme will be returned.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "88ef08fb-c3f9-44e2-b174-fbb239e1dc47",
- "tenant_id": "f36448f2ff094881",
- "realm_id": "aa6aabe6989bc4a5",
- "email_realm_name": "Realm Administrators",
- "create_time": "2022-07-28T18:00:00.000Z",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
Retrive an Existing Theme
To retrieve an existing theme, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
theme_id required | string Example: 88ef08fb-c3f9-44e2-b174-fbb239e1dc47 A unique identifier for a theme. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "88ef08fb-c3f9-44e2-b174-fbb239e1dc47",
- "tenant_id": "f36448f2ff094881",
- "realm_id": "aa6aabe6989bc4a5",
- "email_realm_name": "Realm Administrators",
- "create_time": "2022-07-28T18:00:00.000Z",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
Patch a Theme
To update only specific attributes of an existing theme, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
theme_id required | string Example: 88ef08fb-c3f9-44e2-b174-fbb239e1dc47 A unique identifier for a theme. |
Request Body schema: application/json
Theme to be updated.
object (Theme) A theme is a collection of configurable assets that unifies the end user login experience with your brand and products. It is primarily used to change the styling of the credential binding email. | |||||||||||||
|
Responses
Request samples
- Payload
{- "theme": {
- "email_realm_name": "Realm Administrators"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "88ef08fb-c3f9-44e2-b174-fbb239e1dc47",
- "tenant_id": "f36448f2ff094881",
- "realm_id": "aa6aabe6989bc4a5",
- "email_realm_name": "Realm Administrators",
- "create_time": "2022-07-28T18:00:00.000Z",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
An application represents a client application that uses Beyond Identity for authentication. This could be a native app, a single-page application, regular web application, or machine-to-machine application credentials.
Create a New Application
To create an application, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications
. Values in the request body for read-only fields will be ignored.
At present, there are only two supported protocol types for applications, oauth2
and oidc
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
required | object (Application) An application represents a client application that uses Beyond Identity for authentication. This could be a native app, a single-page application, regular web application, or machine-to-machine application credentials. | ||||||||
|
Responses
Request samples
- Payload
{- "application": {
- "display_name": "Pet Application",
- "resource_server_id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "protocol_config": {
- "type": "oidc",
- "allowed_scopes": [
- "pets:read",
- "pets:write"
], - "confidentiality": "confidential",
- "token_endpoint_auth_method": "client_secret_post",
- "grant_type": [
- "authorization_code"
], - "token_configuration": {
- "subject_field": "id",
- "expires_after": 86400,
- "token_signing_algorithm": "RS256"
}, - "pkce": "disabled",
- "token_format": "self_contained"
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "38833c36-6f47-4992-9329-ea0a00915137",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "resource_server_id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "display_name": "Pet Application",
- "is_managed": false,
- "protocol_config": {
- "type": "oidc",
- "allowed_scopes": [
- "pets:read",
- "pets:write"
], - "client_id": "AYYNcuOSpfqIf33JeegCzDIT",
- "client_secret": "wWD4mPzdsjms1LPekQSo0v9scOHLWy5wmMtKAR2JNhJPAKXv",
- "confidentiality": "confidential",
- "token_endpoint_auth_method": "client_secret_post",
- "grant_type": [
- "authorization_code"
], - "token_configuration": {
- "subject_field": "id",
- "expires_after": 86400,
- "token_signing_algorithm": "RS256"
}, - "pkce": "disabled",
- "token_format": "self_contained"
}
}
List Applications for a Realm
To list all applications for a realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/applications
.
The response will contain at most 100 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 100 items. There is no defined ordering of the list of applications in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "applications": [
- {
- "id": "38833c36-6f47-4992-9329-ea0a00915137",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "resource_server_id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "display_name": "Pet Application",
- "is_managed": false,
- "protocol_config": {
- "type": "oidc",
- "allowed_scopes": [
- "pets:read",
- "pets:write"
], - "client_id": "AYYNcuOSpfqIf33JeegCzDIT",
- "client_secret": "wWD4mPzdsjms1LPekQSo0v9scOHLWy5wmMtKAR2JNhJPAKXv",
- "confidentiality": "confidential",
- "token_endpoint_auth_method": "client_secret_post",
- "grant_type": [
- "authorization_code"
], - "token_configuration": {
- "subject_field": "id",
- "expires_after": 86400,
- "token_signing_algorithm": "RS256"
}, - "pkce": "disabled",
- "token_format": "self_contained"
}
}
], - "total_size": 1
}
Retrieve an Existing Application
To retrieve an existing application, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
application_id required | string Example: 38833c36-6f47-4992-9329-ea0a00915137 A unique identifier for an application. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "38833c36-6f47-4992-9329-ea0a00915137",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "resource_server_id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "display_name": "Pet Application",
- "is_managed": false,
- "protocol_config": {
- "type": "oidc",
- "allowed_scopes": [
- "pets:read",
- "pets:write"
], - "client_id": "AYYNcuOSpfqIf33JeegCzDIT",
- "client_secret": "wWD4mPzdsjms1LPekQSo0v9scOHLWy5wmMtKAR2JNhJPAKXv",
- "confidentiality": "confidential",
- "token_endpoint_auth_method": "client_secret_post",
- "grant_type": [
- "authorization_code"
], - "token_configuration": {
- "subject_field": "id",
- "expires_after": 86400,
- "token_signing_algorithm": "RS256"
}, - "pkce": "disabled",
- "token_format": "self_contained"
}
}
Patch an Application
To update only specific attributes of an existing application, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
application_id required | string Example: 38833c36-6f47-4992-9329-ea0a00915137 A unique identifier for an application. |
Request Body schema: application/json
required | object (Application) An application represents a client application that uses Beyond Identity for authentication. This could be a native app, a single-page application, regular web application, or machine-to-machine application credentials. | ||||||||
|
Responses
Request samples
- Payload
{- "application": {
- "display_name": "Pet Application"
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "38833c36-6f47-4992-9329-ea0a00915137",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "resource_server_id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "display_name": "Pet Application",
- "is_managed": false,
- "protocol_config": {
- "type": "oidc",
- "allowed_scopes": [
- "pets:read",
- "pets:write"
], - "client_id": "AYYNcuOSpfqIf33JeegCzDIT",
- "client_secret": "wWD4mPzdsjms1LPekQSo0v9scOHLWy5wmMtKAR2JNhJPAKXv",
- "confidentiality": "confidential",
- "token_endpoint_auth_method": "client_secret_post",
- "grant_type": [
- "authorization_code"
], - "token_configuration": {
- "subject_field": "id",
- "expires_after": 86400,
- "token_signing_algorithm": "RS256"
}, - "pkce": "disabled",
- "token_format": "self_contained"
}
}
Delete an Application
To delete an application, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID
.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
application_id required | string Example: 38833c36-6f47-4992-9329-ea0a00915137 A unique identifier for an application. |
Responses
Response samples
- 401
- 403
- 404
- 500
{- "code": "unauthorized",
- "message": "unauthorized"
}
A authenticator configuration prescribes how an end user may authenticate themselves to Beyond Identity. Beyond Identity provides a Hosted Web Authenticator which will work out-of-the-box, as well as SDKs that can be embedded into an end user application.
Create a New Authenticator Configuration
To create an authenticator configuration, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs
. Values in the request body for read-only fields will be ignored.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Request Body schema: application/json
required | object (Authenticator Configuration) Representation of an authenticator configuration. This prescribes how an identity may authenticate themselves with Beyond Identity. | ||||
|
Responses
Request samples
- Payload
{- "authenticator_config": {
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "type": "embedded",
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "73731b7f-eb76-4143-9b4b-81a720385f5a",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "type": "embedded",
- "invocation_type": "automatic",
- "authentication_methods": [
- {
- "type": "email_one_time_password"
}, - {
- "type": "software_passkey"
}, - {
- "type": "webauthn_passkey"
}
]
}
}
List Authenticator Configurations for a Realm
To list all authenticator configurations for a realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs
.
The response will contain at most 100 items and may contain a page token to query the remaining items. If page size is not specified, the response will contain 100 items. There is no defined ordering of the list of authenticator configurations in the response. Note that the maximum and default page sizes are subject to change.
When paginating, the page size is maintained by the page token but may be overridden on subsequent requests. The skip is not maintained by the page token and must be specified on each subsequent request.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "authenticator_configs": [
- {
- "id": "73731b7f-eb76-4143-9b4b-81a720385f5a",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "invocation_type": "automatic",
- "type": "embedded"
}
}
], - "total_size": 1
}
Retrieve an Existing Authenticator Configuration
To retrieve an existing authenticator configuration, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs/$AUTHENTICATOR_CONFIG_ID
.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
authenticator_config_id required | string Example: 73731b7f-eb76-4143-9b4b-81a720385f5a A unique identifier for an authenticator configuration. |
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "id": "73731b7f-eb76-4143-9b4b-81a720385f5a",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "type": "embedded",
- "invocation_type": "automatic",
- "authentication_methods": [
- {
- "type": "email_one_time_password"
}, - {
- "type": "software_passkey"
}, - {
- "type": "webauthn_passkey"
}
]
}
}
Patch an Authenticator Configuration
To update only specific attributes of an existing authenticator configuration, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs/$AUTHENTICATOR_CONFIG_ID
. Values in the request body for immutable or read-only fields will be ignored. Fields that are omitted from the request body will be left unchanged.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
authenticator_config_id required | string Example: 73731b7f-eb76-4143-9b4b-81a720385f5a A unique identifier for an authenticator configuration. |
Request Body schema: application/json
required | object (Authenticator Configuration) Representation of an authenticator configuration. This prescribes how an identity may authenticate themselves with Beyond Identity. | ||||
|
Responses
Request samples
- Payload
{- "authenticator_config": {
- "display_name": "Pet Authenticator Configuration",
}
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "73731b7f-eb76-4143-9b4b-81a720385f5a",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "type": "embedded",
- "invocation_type": "automatic",
- "authentication_methods": [
- {
- "type": "email_one_time_password"
}, - {
- "type": "software_passkey"
}, - {
- "type": "webauthn_passkey"
}
]
}
}
Delete an Authenticator Configuration
To delete an authenticator configuration, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs/$AUTHENTICATOR_CONFIG_ID
.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
authenticator_config_id required | string Example: 73731b7f-eb76-4143-9b4b-81a720385f5a A unique identifier for an authenticator configuration. |
Responses
Response samples
- 401
- 403
- 404
- 500
{- "code": "unauthorized",
- "message": "unauthorized"
}
Identity providers enable integration with external systems to support IdP-authorized workflows, such as passkey enrollment. They serve as the counterpart to SSO applications, focusing on initiating authentication workflows and enabling secure interactions.
Lists Identity Providers by Realm.
Lists Identity Providers by Realm.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "identity_providers": [
- {
- "id": "string",
- "tenant_id": "0001f1f460b1ace6",
- "realm_id": "8f5bec58229e6f29",
- "display_name": "string",
- "protocol_config": {
- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "redirect_url": "string",
- "identifying_claim_name": "string"
}
}
], - "total_size": 0,
- "next_page_token": "string"
}
Creates a new identity provider.
Creates a new identity provider.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
id | string A unique identifier identifying an application within a realm. |
display_name required | string The human-readable name associated with the identity provider. |
required | IdentityProviderProtocolConfigOidcIdp (object) The kind of protocol we should use to communicate with the identity provider. |
Responses
Request samples
- Payload
{- "id": "string",
- "display_name": "string",
- "protocol_config": {
- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "identifying_claim_name": "string"
}
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "redirect_url": "string",
- "identifying_claim_name": "string"
}
Updates an identity provider.
Updates an identity provider.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_provider_id required | string Example: e372db224c06e850 A unique identifier for an identity provider. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
id | string A unique identifier identifying an identity provider. |
display_name | string The human-readable name associated with the identity provider. |
any The kind of protocol we should use to communicate with the identity provider. |
Responses
Request samples
- Payload
{- "id": "string",
- "display_name": "string",
- "protocol_config": {
- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "identifying_claim_name": "string"
}
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "string",
- "tenant_id": "0001f1f460b1ace6",
- "realm_id": "8f5bec58229e6f29",
- "display_name": "string",
- "protocol_config": {
- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "redirect_url": "string",
- "identifying_claim_name": "string"
}
}
Retrieves data about an Identity Provider.
Retrieves data about an identity provider.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_provider_id required | string Example: e372db224c06e850 A unique identifier for an identity provider. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "string",
- "tenant_id": "0001f1f460b1ace6",
- "realm_id": "8f5bec58229e6f29",
- "display_name": "string",
- "protocol_config": {
- "type": "oidc_idp",
- "client_id": "string",
- "client_secret": "string",
- "token_scopes": [
- "string"
], - "identity_attribute": "id",
- "pkce": "s256",
- "jwks_url": "string",
- "token_url": "string",
- "authorize_url": "string",
- "redirect_url": "string",
- "identifying_claim_name": "string"
}
}
Deletes an Identity Provider.
Deletes an identity provider.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
identity_provider_id required | string Example: e372db224c06e850 A unique identifier for an identity provider. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 400
- 401
- 403
- 500
{- "code": "string",
- "message": "string",
- "details": [
- {
- "type": "string"
}
]
}
An SSO configuration defines how end users interact with supported SSO protocols and related services. Each configuration type represents a protocol or integration (e.g., SAML, WS-Federation, OIDC, SCIM) supported by Beyond Identity. An SSO configuration provides a flexible framework for managing authentication, provisioning, and other integrations. It abstracts application protocols, inbound and outbound provisioning, and supports named integrations. Additionally, it includes features like user or group assignments, visual tiles in the SSO interface, and compatibility with multiple authentication and provisioning standards. This makes SSO configurations versatile for both authentication and non-authentication use cases.
List SSO Configs associated with a Group.
To list sso configs associated with a group.
This will return all SSO configs that have an association with the specified group ID.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "sso_configs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}
], - "total_size": 1000,
- "next_page_token": "string"
}
Delete Groups from an SSO Config
To delete groups from an sso config. The request must contain at least one and no more than 1000 group IDs.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
group_ids required | Array of strings [ 1 .. 1000 ] items IDs of the groups to be removed from the sso config. |
Responses
Request samples
- Payload
{- "group_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}
Response samples
- 400
- 401
- 403
- 404
- 500
{- "code": "string",
- "message": "string",
- "details": [
- {
- "type": "string"
}
]
}
Associate Identities with an SSO Config
To associate identities to an sso config. The request must contain at least one and no more than 1000 identity IDs.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be added to the sso config. |
Responses
Request samples
- Payload
{- "identity_ids": [
- "string"
]
}
Response samples
- 400
- 401
- 403
- 404
- 500
{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identity_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}
Delete Identities from an SSO Config
To delete identities from an sso config. The request must contain at least one and no more than 1000 identities IDs.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be removed from the sso config. |
Responses
Request samples
- Payload
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}
Response samples
- 400
- 401
- 403
- 404
- 500
{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identities_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}
List Identities Directly and Indirectly Associated With an SSO Config.
To list identities belonging to an sso config.
Note that there may be duplicate identities or an empty array in the response, but as long as there is a page_token
then pagination should continue.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "identities": [
- {
- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "group_id": "923935b2912304",
- "group_display_name": "Test Group",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
}
]
}
List Groups associcated with an SSO config.
To list groups belonging to an sso config.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identity_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}
List SSO configs directly and indirectly associated with an identity.
To list sso configs associated with an identity.
This will return all SSO configs that have an association with the specified identity ID.
Note that there may be duplicate soo configs or an empty array in the response, but as long as there is a page_token
pagination should continue.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
identity_id required | string Example: e372db224c06e850 A unique identifier for an identity. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "identities": [
- {
- "id": "e372db224c06e850",
- "realm_id": "8f5bec58229e6f29",
- "tenant_id": "0001f1f460b1ace6",
- "display_name": "Test Display",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
- "status": "active",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "secondary_email_address": "string",
- "external_id": "string",
- "family_name": "string",
- "given_name": "string",
- "formatted_name": "string",
- "middle_name": "string",
- "honorific_prefix": "string",
- "honorific_suffix": "string",
- "nick_name": "string",
- "title": "string",
- "primary_phone": "string",
- "secondary_phone": "string",
- "profile_url": "string",
- "photo": "string",
- "preferred_language": "string",
- "locale": "string",
- "timezone": "string",
- "formatted_address": "string",
- "street_address": "string",
- "locality": "string",
- "region": "string",
- "postal_code": "string",
- "country": "string",
- "user_type": "string",
- "employee_number": "string",
- "cost_center": "string",
- "organization": "string",
- "division": "string",
- "department": "string",
- "manager_id": "string",
- "manager_name": "string"
}, - "group_id": "string",
- "group_display_name": "string"
}
], - "next_page_token": "string"
}
List SSO Configs associated with a Group.
To list sso configs associated with a group.
This will return all SSO configs that have an association with the specified group ID.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
group_id required | string Example: 81490afab171aef0 A unique identifier for a group. |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "sso_configs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}
], - "total_size": 1000,
- "next_page_token": "string"
}
Lists SSO Configs by Realm.
Lists sso configs by realm.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
query Parameters
page_size | integer <uint32> >= 0 Number of items returned per page. The response will include at most this many results but may include fewer. If this value is omitted, the response will return the default number of results allowed by the method. |
page_token | string Token to retrieve the subsequent page of the previous request. All other parameters to the list endpoint should match the original request that provided this token unless otherwise specified. |
type | Array of strings (SsoConfigType) Items Enum: "bookmark" "entra_id_external_auth_methods" "generic_oidc" "generic_oidc_idp" "generic_saml" "okta_idp" "okta_sso_bi_idp" "reality_check" "scim" "ws_fed" The type of sso config to filter by. You may query with multiple types for example "/sso-configs?type=generic_oidc&type=generic_oid_idp" |
is_migrated | boolean |
order_by | string |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "sso_configs": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}
], - "total_size": 0,
- "next_page_token": "string"
}
Creates a new SSO Config.
Creates a new SSO Config.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
required | object (SsoConfig) Represents an SSO config as a request body. | ||||||
|
Responses
Request samples
- Payload
{- "sso_config": {
- "is_migrated": true,
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true,
- "application_tile_id": "string"
}
}
Finds an SSO Config by its ID.
Finds an SSO Config by its ID.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true,
- "application_tile_id": "string"
}
}
Deletes an SSO Config by its ID.
Deletes an SSO Config by its ID.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{ }
Updates an SSO Config by its ID.
Updates an SSO Config by its ID.
Authorizations:
path Parameters
tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
sso_config_id required | string A unique identifier of the sso configuration |
header Parameters
x-correlation_id required | string Correlation ID. If supplied with the request, the response must contain the same value. If not supplied with the request, it is generated by the server and returned in the response. |
Request Body schema: application/json
required | SsoConfigBookmarkPartialUpdate (object) or SsoConfigEntraIdAuthMethodPartial (object) or SsoConfigGenericOidcPartialUpdate (object) or SsoConfigGenericOidcIdpPartialUpdate (obj |