Download OpenAPI specification:Download
NOTE: To determine if you are accessing the Secure Access Platform, check the URL of your Admin Console. If it looks like one of the following, you are using the Secure Access Platform:
https://console.beyondidentity.com (Localized to your region)https://console-us.beyondidentity.com (US region)https://console-eu.beyondidentity.com (EU region)https://console.us1.beyondidentity-gov.com (US FedRAMP)If your Admin Console URL does not look like one of the above, you are using the Secure Workforce Platform. Please refer to the Secure Workforce API documentation.
The Beyond Identity Secure Access API defines methods for managing resources in the Beyond Identity Secure Access platform.
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.
The base API URLs is determined by the region your tenant is hosted in OR if you are a FedRAMP customer.
If you are a US region customer, your base API URLs will be:
https://api-us.beyondidentity.comhttps://auth-us.beyondidentity.comIf you are a EU region customer, your base API URLs will be:
https://api-eu.beyondidentity.comhttps://auth-eu.beyondidentity.comNOTE: The FedRAMP version of Secure Access is released approximately two weeks after the commercial version, so some API endpoints may not be available immediately.
If you are a FedRAMP customer in the US region, your base API URLs will be:
https://api.us1.beyondidentity-gov.comhttps://auth.us1.beyondidentity-gov.comFor all the examples in this document, we will use the US region API base URL. You can always replace https://api-us.beyondidentity.com
and https://auth-us.beyondidentity.com in the examples to use the proper base URL for your tenant.
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.
{
"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"
}
{
"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.
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"
}
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"
}
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"
}
],
}
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.
To retrieve an existing tenant, send a GET request to /v1/tenants/$TENANT_ID.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
{- "id": "000176d94fd7b4d1",
- "display_name": "Test Tenant",
- "create_time": "2022-01-28T12:00:02.423Z",
- "update_time": "2022-04-19T15:17:21.186Z"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
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. | ||
| |||
{- "tenant": {
- "display_name": "Test Tenant"
}
}{- "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.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
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. | ||||
| |||||
{- "realm": {
- "display_name": "Test Realm",
- "classification": "SECURE_CUSTOMER"
}
}{- "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"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| 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. |
{- "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
}To retrieve an existing realm, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
{- "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"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
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. | ||||
| |||||
{- "realm": {
- "display_name": "Test Realm"
}
}{- "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"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
{- "code": "unauthorized",
- "message": "unauthorized"
}A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
required | object (Group) A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule. | ||||
| |||||
{- "group": {
- "display_name": "Realm Administrators",
- "description": "A group of realm administrators."
}
}{- "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"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
{- "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
}To retrieve an existing group, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/groups/$GROUP_ID.
| 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. |
{- "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"
}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.
| 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. |
required | object (Group) A group is a logical collection of identities. Groups are commonly used as a predicate in a policy rule. | ||||
| |||||
{- "group": {
- "display_name": "Realm Administrators"
}
}{- "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"
}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.
| 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. |
{- "code": "unauthorized",
- "message": "unauthorized"
}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.
| 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. |
| identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be added to the group. |
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "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"
}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.
| 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. |
| identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be removed from the group. |
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "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"
}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.
| 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. |
| 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. |
{- "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",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}
], - "total_size": 1
}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.
| 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. |
| 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. |
{- "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.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
required | object (Identity) An identity is a unique identifier that may be used by an end-user to gain access governed by Beyond Identity. | ||||||
| |||||||
{- "identity": {
- "display_name": "Test Identity",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}
}{- "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",
- "enrollment_status": "UNENROLLED",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
{- "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",
- "enrollment_status": "ENROLLED",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}
], - "total_size": 1
}To delete multiple identities in a realm, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities:batchDelete.
The request must contain at least one and no more than 1000 identity IDs. If there are any repeating identity IDs, the request will fail. If there are any invalid identity IDs, the request will fail and no identities will be deleted.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be deleted. |
{- "ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "code": "unauthorized",
- "message": "unauthorized"
}To retrieve an existing identity, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID.
| 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. |
{- "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",
- "enrollment_status": "UNENROLLED",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}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.
| 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. |
required | object (Identity) An identity is a unique identifier that may be used by an end-user to gain access governed by Beyond Identity. | ||||||
| |||||||
{- "identity": {
- "display_name": "Test Identity",
- "traits": {
- "type": "traits_v0",
- "primary_email_address": "test@example.com"
}
}
}{- "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",
- "enrollment_status": "UNENROLLED",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}To delete an identity, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
| 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. |
{- "code": "unauthorized",
- "message": "unauthorized"
}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.
| 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. |
| 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. |
{- "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
}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.
| 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. |
| 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. |
{- "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.
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.
| 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. |
| 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. |
{- "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
}To retrieve an existing credential, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credentials/$CREDENTIAL_ID.
| 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. |
{- "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"
}To revoke a credential, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credentials/$CREDENTIAL_ID:revoke.
| 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. |
{- "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.
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.
| 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 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. | ||||||||||
| |||||||||||
{- "job": {
- "delivery_method": "RETURN",
- "authenticator_config_id": "67bb0acf12e5c899"
}
}{- "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"
},
}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.
| 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. |
| 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. |
{- "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
}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.
| 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. |
| 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. Supported filters attributes:
|
{- "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"
}To revoke an active credential binding job, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credential-binding-jobs/$CREDENTIAL_BINDING_JOB_ID:revoke.
This endpoint invalidates a pending credential binding job, preventing a credential from being enrolled for the associated identity. If the specified job has already been completed, the revocation attempt will fail.
| 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. |
Request for SetCredentialBindingJobRevoked. This request body is empty.
{ }{- "id": "86b4f51481f09321",
- "identity_id": "3d227b0d5949969d",
- "realm_id": "9602e246c2ead9b2",
- "tenant_id": "ce5ace5fc7e14d6a",
- "credential_id": "9802966246819b35",
- "batch_id": "9802966246819b35",
- "delivery_method": "RETURN",
- "state": "COMPLETE",
- "authenticator_config": {
- "config": {
- "invocation_type": "automatic",
- "type": "embedded",
- "authentication_methods": [
- {
- "type": "email_one_time_password"
}
]
}
}, - "authenticator_config_id": "76e9eab521a8b734",
- "expire_time": "2022-05-12T20:29:47.636497Z",
- "create_time": "2022-05-12T20:29:47.636497Z",
- "update_time": "2022-05-12T20:29:47.636497Z"
}To create a new batch credential binding job, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/batch-credential-binding-jobs.
Values in the request body for read-only fields will be ignored.
A maximum of 1000 credential binding jobs can be created in a single batch.
Each realm can have up to 1000 credential binding jobs in the batch queue at any given time.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
Batch credential binding job to be created.
required | object (BatchCredentialBindingJob) A batch credential binding job manages the binding of credentials for multiple identities in a batch operation. | ||||
| |||||
{- "batch_credential_binding_job": {
- "identity_ids": [
- "3d227b0d5949969d",
- "a3f28b7c9e6d1234",
- "5c90d2af18e47b0e"
], - "job_template": {
- "authenticator_config_id": "67bb0acf12e5c899",
}
}
}{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "identity_ids": [
- "3d227b0d5949969d",
- "a3f28b7c9e6d1234",
- "5c90d2af18e47b0e"
], - "state": "RUNNING",
- "state_commentary": {
- "errors": {
- "a3f28b7c9e6d1234": {
- "last_error": "Identity missing email address",
- "failed_permanently": false
}
}
}, - "job_template": {
- "authenticator_config_id": "67bb0acf12e5c899",
}, - "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-03-15T05:55:23.823187Z"
}To retrieve an existing batch credential binding job, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/credential-binding-jobs/batch/$BATCH_CREDENTIAL_BINDING_JOB_ID.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| batch_credential_binding_job_id required | string Example: c15e004f-a7bc-459b-b035-cec40e07f537 A unique identifier for a batch credential binding job. |
{- "id": "81490afab171aef0",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "identity_ids": [
- "3d227b0d5949969d",
- "a3f28b7c9e6d1234",
- "5c90d2af18e47b0e"
], - "state": "RUNNING",
- "state_commentary": {
- "errors": {
- "a3f28b7c9e6d1234": {
- "last_error": "Identity missing email address",
- "failed_permanently": false
}
}
}, - "job_template": {
- "authenticator_config_id": "67bb0acf12e5c899",
}, - "create_time": "2022-03-14T03:42:52.905657Z",
- "update_time": "2022-03-15T05:55:23.823187Z"
}To list the results of a batch credential binding job, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/batch-credential-binding-jobs/$BATCH_CREDENTIAL_BINDING_JOB_ID:listResults.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| batch_credential_binding_job_id required | string Example: c15e004f-a7bc-459b-b035-cec40e07f537 A unique identifier for a batch credential binding job. |
{- "job_results": [
- {
- "id": "81490afab171aef0",
- "identity_id": "a3f28b7c9e6d1234",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "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"
}, - {
- "id": "81490afab171aef0",
- "identity_id": "5c90d2af18e47b0e",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "delivery_method": "EMAIL",
- "state": "LINK_OPENED",
- "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"
}, - {
- "id": "81490afab171aef0",
- "identity_id": "e85de356dc78843a",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "delivery_method": "EMAIL",
- "state": "REVOKED",
- "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_success_count": 1,
- "total_failure_count": 1,
- "total_pending_count": 1,
- "total_size": 3
}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.
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.
| 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 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. | |||||||||||||
| |||||||||||||
{- "theme": {
- "email_realm_name": "Realm Administrators",
- "button_color": "#4673D3",
- "button_text_color": "#FFFFFF"
}
}{- "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"
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
{- "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"
}To retrieve an existing theme, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/themes/$THEME_ID.
| 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. |
{- "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"
}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.
| 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. |
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. | |||||||||||||
| |||||||||||||
{- "theme": {
- "email_realm_name": "Realm Administrators"
}
}{- "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.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
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. | ||||||||
| |||||||||
{- "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"
}
}
}{- "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"
}
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
{- "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
}To retrieve an existing application, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID.
| 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. |
{- "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"
}
}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.
| 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. |
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. | ||||||||
| |||||||||
{- "application": {
- "display_name": "Pet Application"
}
}{- "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"
}
}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.
| 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. |
{- "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.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
required | object (Authenticator Configuration) Representation of an authenticator configuration. This prescribes how an identity may authenticate themselves with Beyond Identity. | ||||
| |||||
{- "authenticator_config": {
- "display_name": "Pet Authenticator Configuration",
- "config": {
- "type": "embedded",
}
}
}{- "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"
}
]
}
}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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
| 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. |
{- "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
}To retrieve an existing authenticator configuration, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/authenticator-configs/$AUTHENTICATOR_CONFIG_ID.
| 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. |
{- "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"
}
]
}
}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.
| 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. |
required | object (Authenticator Configuration) Representation of an authenticator configuration. This prescribes how an identity may authenticate themselves with Beyond Identity. | ||||
| |||||
{- "authenticator_config": {
- "display_name": "Pet Authenticator Configuration",
}
}{- "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"
}
]
}
}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.
| 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. |
{- "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.
| 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 |
| 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. |
| 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. |
{- "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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
| 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. |
{- "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"
}
}{- "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.
| 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. |
| 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. |
object The identity provider object. | |||||
| |||||
{- "identity_provider": {
- "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"
}
}
}{- "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.
| 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. |
| 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. |
{- "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.
| 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. |
| 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. |
{- "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.
To create a new SSO Config, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/sso-configs.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
required | object (SsoConfig) Represents an SSO config as a request body. | ||||||
| |||||||
{- "sso_config": {
- "is_migrated": true,
- "display_name": "string",
- "payload": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}
}{- "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"
}
}To list SSO Configs for a Realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/sso-configs.
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.
Page tokens expire after one week. Requests which specify an expired page token will result in undefined behavior.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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" "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 |
| 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. |
{- "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"
}To retrieve an existing SSO Config, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/sso-configs/$SSO_CONFIG_ID.
| 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 |
| 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. |
{- "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"
}
}Updates an SSO Config by its ID.
| 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 |
| 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. |
required | SsoConfigBookmarkPartialUpdate (object) or SsoConfigEntraIdAuthMethodPartial (object) or SsoConfigGenericOidcPartialUpdate (object) or SsoConfigGenericOidcIdpPartialUpdate (object) or SsoConfigSamlPartialUpdate (object) or object or SsoConfigOktaBiIdpPartialUpdate (object) or SsoConfigRealityCheckPartialUpdate (object) or SsoConfigWsFedPartialUpdate (object) (SsoConfigPartialUpdatePayload) | ||||||||
One of
| |||||||||
{- "sso_config": {
- "type": "bookmark",
- "login_link": "string",
- "icon": "string",
- "is_tile_visible": true
}
}{- "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.
| 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 |
| 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. |
{- "code": "string",
- "message": "string",
- "details": [
- {
- "type": "string"
}
]
}To associate identities to an sso config. The request must contain at least one and no more than 1000 identity IDs.
| 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 |
| 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. |
| identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be added to the sso config. |
{- "identity_ids": [
- "string"
]
}{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identity_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}To delete identities from an sso config. The request must contain at least one and no more than 1000 identities IDs.
| 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 |
| 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. |
| identity_ids required | Array of strings [ 1 .. 1000 ] items IDs of the identities to be removed from the sso config. |
{- "identity_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identities_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}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.
| 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 |
| 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. |
| 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. |
{- "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",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}
]
}To check if an identity is assigned to the SSO config id, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/identities/$IDENTITY_ID/sso-configs/$SSO_CONFIG_ID/is-identity-assigned.
| 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 |
| 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. |
{ }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 SSO configs or an empty array in the response, but as long as there is a page_token pagination should continue.
| 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. |
| 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. |
| 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. |
{- "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",
- "primary_email_address": "test@example.com",
- "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"
}, - "enrollment_status": "ENROLLED",
- "group_id": "string",
- "group_display_name": "string"
}
], - "next_page_token": "string"
}To associate groups to an sso config. The request must contain at least one and no more than 1000 group IDs.
| 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 |
| 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. |
| group_ids required | Array of strings [ 1 .. 1000 ] items IDs of the groups to be added to the sso config. |
{- "group_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "group_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}To delete groups from an sso config. The request must contain at least one and no more than 1000 group IDs.
| 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 |
| 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. |
| group_ids required | Array of strings [ 1 .. 1000 ] items IDs of the groups to be removed from the sso config. |
{- "group_ids": [
- "e372db224c06e850",
- "3a28d4f28b57cc93"
]
}{- "code": "string",
- "message": "string",
- "details": [
- {
- "type": "string"
}
]
}To list groups associated with an SSO config, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/sso-configs/$SSO_CONFIG_ID/groups.
| 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 |
| 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. |
{- "code": "bad_request",
- "message": "invalid parameters",
- "details": [
- {
- "type": "FieldViolations",
- "field_violations": [
- {
- "field": "identity_ids",
- "description": "array exceeds 1000 elements"
}
]
}
]
}To list sso configs associated with a group.
This will return all SSO configs that have an association with the specified group ID.
| 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. |
| 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. |
| 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. |
{- "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"
}Check if any of the groups provided are associated with the SSO Config ID.
| 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 |
| 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. |
| group_ids | Array of strings A group id. |
{- "group_ids": [
- "string"
]
}{ }Returns the ID of the SSO Config associated with the application.
| 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. |
| 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. |
{- "sso_config_id": "string"
}Tests an SSO Config.
| 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 |
| 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. |
{- "identity_providers": [
- {
- "identity_provider_id": "123",
- "display_name": "Okta IDP",
- "is_successful": true,
- "status_code": 200
}, - {
- "identity_provider_id": "456",
- "display_name": "Ping IDP",
- "is_successful": false,
- "status_code": 500,
- "error_context": "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n<html>\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <meta name=\"robots\" content=\"noindex,nofollow\" />\n\n <title>zeropw-rolling - Bad Request</title>\n\n <link rel=\"stylesheet\" type=\"text/css\" href=\"/assets/css/sections/errors-v2.css\">\n\n <!-- Styles generated from theme -->\n <link href=\"/api/internal/brand/theme/style-sheet?touch-point=ERROR_PAGE&v=1c5f33b32b86a6a64df6637d07c27a375119d7a8fe54632d87e9ed00b24d9510bd977fcafd928c2991cd5c2dae06d79c\" rel=\"stylesheet\" type=\"text/css\">\n\n <!-- Favicon from theme -->\n <link rel=\"shortcut icon\" href=\"/favicon.ico\" type=\"image/x-icon\"/>\n\n\n\n <style nonce=\"zUfBFwrhQk0UI73zxsAGqg\">\n #login-bg-image-id {\n background-image: none\n }\n </style>\n</head>\n<body>\n<div id=\"login-bg-image-id\" class=\"login-bg-image tb--background\"></div>\n<div class=\"widget\">\n <div class=\"container\">\n <div class=\"header\">\n <img alt=\"zeropw-rolling\" src=\"https://op1static.oktacdn.com/assets/img/logos/okta-logo.1e146cad5713da744492be95eb0f7793.png\" class=\"org-logo\">\n </div>\n <div class=\"illustration\">\n <!-- Show HTTP error code if exists -->\n <div class=\"error-code\">400</div>\n <!-- Show generic error image if not -->\n </div>\n <div class=\"content\">\n <h2 class=\"o-form-title\">Bad Request</h2>\n <p class=\"o-form-explain\">Your request resulted in an error. The 'redirect_uri' parameter must be a Login redirect URI in the client app settings: https://zeropw-rolling-admin.oktapreview.com/admin/app/oidc_client/instance/0oa24fkg4hed8IxFK0h8#tab-general</p>\n <a href=\"/\" class=\"button tb--button\">Go to Homepage</a>\n\n <div class=\"footer\">\n <a class=\"non-link\">\n Technical Details\n </a> <span class=\"dropdown-arrow\">▾</span>\n <p class=\"technical-details\">Identity Provider: Unknown, Error Code: invalid_request</p>\n </div>\n </div>\n </div>\n</div>\n</body>\n</html><script type=\"text/javascript\" nonce=\"zUfBFwrhQk0UI73zxsAGqg\">\n window.addEventListener('load', function(event) {\n function applyStyle(id, attr) {\n var el = document.getElementById(id);\n if (el) {\n var img = el.getAttribute(attr);\n if (img) {\n el.style[\"background-image\"] = img;\n }\n }\n }\n applyStyle(\"login-bg-image-id\", \"data-img-url\");\n });\n</script><style type=\"text/css\" nonce=\"zUfBFwrhQk0UI73zxsAGqg\">\n #st-app {\n display: none;\n }\n</style><span id=\"st-app\">END_USER_APP</span>\n\n<style type=\"text/css\" nonce=\"zUfBFwrhQk0UI73zxsAGqg\">\n #content-container {\n width: 1000px;\n margin: 0 auto;\n }\n </style><div id=\"content-container\" class=\"content no-translate\">\n <h2>\n Error: The 'redirect_uri' parameter must be a Login redirect URI in the client app settings: https://zeropw-rolling-admin.oktapreview.com/admin/app/oidc_client/instance/0oa24fkg4hed8IxFK0h8#tab-general</h2>\n <pre></pre>\n </div>\n"
}
]
}Launch mechanisms, or flow type configurations, define which authentication launch mechanisms are enabled and valid for different platforms (Android, iOS, macOS, Windows, Web, Linux, ChromeOS) within a tenant. These configurations control which authentication methods end users can use on different devices and platforms.
Retrieves the flow type configuration for a tenant or creates a default configuration if one does not exist
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
{- "id": "string",
- "tenant_id": "string",
- "realm_id": "string",
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "platform_config": {
- "android": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "macos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "ios": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "windows": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "web": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "linux": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeosweb": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}
}
}Updates the flow type configuration for a tenant, note that this will also create a default configuration if one does not exist
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) | |
object (UpdateFlowTypeSet) Set of flow type configurations for a platform (update version) |
{- "android": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "macos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "ios": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "windows": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "web": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "linux": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeosweb": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}
}{- "id": "string",
- "tenant_id": "string",
- "realm_id": "string",
- "create_time": "2019-08-24T14:15:22Z",
- "update_time": "2019-08-24T14:15:22Z",
- "platform_config": {
- "android": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "macos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "ios": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "windows": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "web": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "linux": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeos": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}, - "chromeosweb": {
- "unknown": {
- "enabled": true,
- "valid": true
}, - "scheme": {
- "enabled": true,
- "valid": true
}, - "embedded": {
- "enabled": true,
- "valid": true
}, - "copy": {
- "enabled": true,
- "valid": true
}, - "roaming_auth": {
- "enabled": true,
- "valid": true
}, - "android_autofill": {
- "enabled": true,
- "valid": true
}, - "android_accessibility": {
- "enabled": true,
- "valid": true
}, - "pipe": {
- "enabled": true,
- "valid": true
}, - "localhost": {
- "enabled": true,
- "valid": true
}, - "universal_link": {
- "enabled": true,
- "valid": true
}, - "safari_extension": {
- "enabled": true,
- "valid": true
}, - "layered_auth_qr_code": {
- "enabled": true,
- "valid": true
}, - "secure_localhost": {
- "enabled": true,
- "valid": true
}
}
}
}A resource server represents an API server that hosts a set of protected resources and is capable of accepting and responding to protected resource requests using access tokens. Clients can enable these APIs to be consumed from authorized applications.
To create a resource server, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers. Values in the request body for read-only fields will be ignored.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
required | object (Resource Server) A resource server represents an API server that hosts a set of protected resources and is capable of accepting and responding to protected resource requests using access tokens. Clients can enable these APIs to be consumed from authorized applications. | ||||||
| |||||||
{- "resource_server": {
- "display_name": "Pet API",
- "scopes": [
- "pets:read",
- "pets:write"
]
}
}{- "id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet API",
- "is_managed": false,
- "scopes": [
- "pets:read",
- "pets:write"
]
}To list all resource servers for a realm, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers.
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 resource servers 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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| 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. |
{- "resource_servers": [
- {
- "id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet API",
- "is_managed": false,
- "scopes": [
- "pets:read",
- "pets:write"
]
}
], - "total_size": 1
}To retrieve an existing resource server, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
{- "id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet API",
- "is_managed": false,
- "scopes": [
- "pets:read",
- "pets:write"
]
}To update only specific attributes of an existing resource server, send a a
PATCH request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_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.
Scopes that are removed from a resource server will be asynchronously removed from all roles associated with the resource server.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
required | object (Resource Server) A resource server represents an API server that hosts a set of protected resources and is capable of accepting and responding to protected resource requests using access tokens. Clients can enable these APIs to be consumed from authorized applications. | ||||||
| |||||||
{- "resource_server": {
- "display_name": "Pet API"
}
}{- "id": "84db69f5-48a8-4c11-8cda-1bae3a73f07e",
- "realm_id": "caf2ff640497591a",
- "tenant_id": "00011f1183c67b69",
- "display_name": "Pet API",
- "is_managed": false,
- "scopes": [
- "pets:read",
- "pets:write"
]
}To delete a resource server, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
{- "code": "unauthorized",
- "message": "unauthorized"
}To create a role, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles. Values in the request body for read-only fields will be ignored.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
Role to be created.
object (Role) A role is a logical collection of scopes. Roles are commonly used to limit access control. The scopes belonging to a role are limited to its associated resource server. However, note that the resource server may change independently of the role. If scopes are added to or removed from a resource server, its associated roles must be manually updated using the AddRoleScopes or DeleteRoleScopes methods. | |||||
| |||||
{- "role": {
- "display_name": "Help Desk",
- "description": "Customer support personnel."
}
}{- "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"
}To list all roles for a resource server, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles.
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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| 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. |
{- "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
}To retrieve an existing role, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
{- "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"
}To update only specific attributes of an existing role, send a PATCH request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
Updates to the specified role.
required | object (Role) A role is a logical collection of scopes. Roles are commonly used to limit access control. The scopes belonging to a role are limited to its associated resource server. However, note that the resource server may change independently of the role. If scopes are added to or removed from a resource server, its associated roles must be manually updated using the AddRoleScopes or DeleteRoleScopes methods. | ||||
| |||||
{- "role": {
- "display_name": "Help Desk"
}
}{- "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"
}To delete a role, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID. To be deleted, a role must not have any scopes or members. Any existing scopes and 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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
{- "code": "unauthorized",
- "message": "unauthorized"
}To assign members to a role, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID:addMembers. The request must contain at least one group ID or identity ID and must not contain more than 1000 group IDs or 1000 identity IDs.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| group_ids | Array of strings [ 1 .. 1000 ] items IDs of the groups to be assigned to the role. |
| identity_ids | Array of strings [ 1 .. 1000 ] items IDs of the identities to be assigned to the role. |
{- "group_ids": [
- "e372db224c06e850"
], - "identity_ids": [
- "3a28d4f28b57cc93"
]
}{- "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"
}To unassign members from a role, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID:deleteMembers. The request must contain at least one group ID or identity ID and must not contain more than 1000 group IDs or 1000 identity IDs.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| group_ids | Array of strings [ 1 .. 1000 ] items IDs of the groups to be unassigned from the role. |
| identity_ids | Array of strings [ 1 .. 1000 ] items IDs of the identities to be unassigned from the role. |
{- "group_ids": [
- "e372db224c06e850"
], - "identity_ids": [
- "3a28d4f28b57cc93"
]
}{- "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"
}To list members assigned to a role, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| groups_page_size | integer <uint32> >= 0 Number of groups returned per page for ListRoleMembers. The response will include at most this many groups but may include fewer. If this value is omitted, the response will return the default number of groups allowed by ListRoleMembers. |
| groups_skip | integer <uint32> >= 0 Default: 0 Number of groups to skip for ListRoleMembers. This is the zero-based index of the first group result. |
| identities_page_size | integer <uint32> >= 0 Number of identities returned per page for ListRoleMembers. The response will include at most this many identities but may include fewer. If this value is omitted, the response will return the default number of identities allowed by ListRoleMembers. |
| identities_skip | integer <uint32> >= 0 Default: 0 Number of identities to skip for ListRoleMembers. This is the zero-based index of the first identity result. |
| 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. |
{- "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_groups_size": 1,
- "identities": [
- {
- "id": "e372db224c06e850",
- "realm_id": "7df92e4a38ba0993",
- "tenant_id": "0001b42d80372976",
- "display_name": "Test Identity",
- "create_time": "2022-04-12T05:53:07.119Z",
- "update_time": "2022-06-16T14:31:03.770Z",
- "traits": {
- "type": "traits_v0",
- "username": "test",
- "primary_email_address": "test@example.com"
}
}
], - "total_identities_size": 1
}To assign scopes to a role, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID:addScopes. The request must contain at least one and no more than 1000 scopes.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| scopes required | Array of strings [ 1 .. 1000 ] items Scopes to be assigned to the role. |
{- "scopes": [
- "identities:read"
]
}{- "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"
}To unassign scopes from a role, send a POST request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID:deleteScopes. The request must contain at least one and no more than 1000 scopes.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| scopes required | Array of strings [ 1 .. 1000 ] items Scopes to be removed from the role. |
{- "scopes": [
- "identities:read"
]
}{- "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"
}To list scopes assigned to a role, send a GET request to
/v1/tenants/$TENANT_ID/realms/$REALM_ID/resource-servers/$RESOURCE_SERVER_ID/roles/$ROLE_ID:listScopes.
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 scopes 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.
| tenant_id required | string Example: 000176d94fd7b4d1 A unique identifier for a tenant. |
| realm_id required | string Example: 19a95130480dfa79 A unique identifier for a realm. |
| resource_server_id required | string Example: 84db69f5-48a8-4c11-8cda-1bae3a73f07e A unique identifier for a resource server. |
| role_id required | string Example: fb785d40cbe4fc0d A unique identifier for a role. |
| 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. |
{- "scopes": [
- "identities:read"
], - "total_size": 1
}To list all tokens issued by an application, send a GET request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID/tokens.
The $APPLICATION_ID in path corresponds to the application that is the issuer of the token.
To filter the list of tokens by a principal, set principal_type and principal_id. These parameters are optional.
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 tokens 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.
| 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. |
| principal_type | string Type of the principal. Allowable values are:
|
| principal_id | string A unique identifier for a principal. This might be an application ID or an identity ID depending on the type of principal. |
{- "tokens": [
- {
- "id": "cTXMRjNrTz7w3p7wO5HJ5cUTpFt5Z3yL",
- "display_name": "Testing token only for creating applications",
- "scopes": [
- "applications:create"
], - "token_suffix": "JV_adQssw5c",
- "token_format": "self_contained",
- "expires": 1677246914,
- "issued_at": 1677246914,
- "token_type": "access"
}
], - "total_size": 1
}To revoke a token, send a DELETE request to /v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID/tokens/$TOKEN_ID.
The $APPLICATION_ID in path corresponds to the application that is the issuer of the token.
A successful request will receive a 200 status code with no body in the response. This indicates that the request was processed successfully.
If the token ID is not available, the access token must be revoked via the RFC-7009 revoke endpoint.
| 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. |
| token_id required | string A unique identifier for a token. For JWS tokens, this corresponds to the value of the |
{- "code": "unauthorized",
- "message": "unauthorized"
}To create a user, send a POST request to /Users. Values in the request body for read-only fields will be ignored.
required | object (User) A user represents a human entity as defined by RFC 7643 Section 4.1. A user cooresponds to the identity resource in Beyond Identity. | ||||||||||||||||||
| |||||||||||||||||||
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User"
], - "active": true,
- "userName": "bjensen",
- "displayName": "Ms. Barbara Jensen",
- "externalId": "bjensen",
- "name": {
- "familyName": "Jensen",
- "givenName": "Barbara"
}, - "emails": [
- {
- "value": "bjensen@example.com",
- "primary": true
}
]
}{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
], - "id": "2819c223-7f76-453a-919d-413861904646",
- "externalId": "bjensen",
- "userName": "bjensen",
- "displayName": "Ms. Barbara J Jensen III",
- "name": [
- {
- "familyName": "Jensen"
}, - {
- "givenName": "Barbara"
}
], - "active": true,
- "emails": [
- {
- "primary": true,
- "value": "bjensen@example.com"
}
], - "meta": {
- "resourceType": "User",
- "created": "2022-10-12T05:11:47Z",
- "lastModified": "2023-03-30T06:00:03Z",
- "location": "Users/2819c223-7f76-453a-919d-413861904646",
- "version": "W/0"
}, - "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
- "employeeNumber": "12345",
- "costCenter": "Finance",
- "department": "Accounting",
- "manager": [
- {
- "value": "54321",
- "displayName": "Jane Doe"
}
]
}
}To list all users, send a GET request to /Users.
Currently, filtering on users only supports the eq and ne operators and
the userName and externalId attributes.
The response will contain at most 1000 items. If count is not specified or is zero, the response will not contain any resources. There is no defined ordering of the list of users in the response. Note that the maximum page size is subject to change.
| filter | string Filter for list methods. Filters follow the SCIM grammar from RFC 7644 Section 3.4.2.2. |
| count | integer <uint32> >= 0 Default: 0 Specifies the desired maximum number of query results per page. A negative value is treated as 0, which indicates that the response should not contain any resources. Note that the response may include fewer results than the requested count. |
| startIndex | integer <uint32> >= 1 Default: 1 The 1-based index of the first query result. |
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:ListResponse"
], - "Resources": [
- {
- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
], - "id": "2819c223-7f76-453a-919d-413861904646",
- "externalId": "bjensen",
- "userName": "bjensen",
- "displayName": "Ms. Barbara J Jensen III",
- "name": [
- {
- "familyName": "Jensen"
}, - {
- "givenName": "Barbara"
}
], - "active": true,
- "emails": [
- {
- "primary": true,
- "value": "bjensen@example.com"
}
], - "meta": {
- "resourceType": "User",
- "created": "2022-10-12T05:11:47Z",
- "lastModified": "2023-03-30T06:00:03Z",
- "location": "Users/2819c223-7f76-453a-919d-413861904646",
- "version": "W/0"
}, - "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
- "employeeNumber": "12345",
- "costCenter": "Finance",
- "department": "Accounting",
- "manager": [
- {
- "value": "54321",
- "displayName": "Jane Doe"
}
]
}
}
], - "itemsPerPage": 1000,
- "startIndex": 1,
- "totalResults": 1
}To retrieve an existing user, send a GET request to /Users/$USER_ID.
| user_id required | string non-empty ID of the user. This corresponds to the identity ID. |
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User"
], - "id": "ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
- "externalId": "external-id-abcdef",
- "userName": "test_user",
- "displayName": "Test User",
- "active": true,
- "emails": [
- {
- "primary": true,
- "value": "test@test.com"
}
], - "name": {
- "givenName": "Barbara",
- "familyName": "Jensen"
}, - "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
- "employeeNumber": "string",
- "costCenter": "string",
- "organization": "string",
- "department": "string",
- "division": "string",
- "manager": {
- "value": "string",
- "displayName": "string"
}
}, - "meta": {
- "resourceType": "Group",
- "created": "2022-04-07T07:23:33Z",
- "lastModified": "2023-03-30T07:00:14Z",
- "location": "Groups/ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
- "version": "W/0"
}
}To update only specific attributes of an existing user, send a PATCH
request to /Users/$USER_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.
Note that the Beyond Identity SCIM server currently does not support atomic PATCH operations. If a request contains multiple operations, the request may be partially applied.
Currently, only "add" and "replace" operations are supported for users.
| user_id required | string non-empty ID of the user. This corresponds to the identity ID. |
required | object (User) A user represents a human entity as defined by RFC 7643 Section 4.1. A user cooresponds to the identity resource in Beyond Identity. | ||||||||||||||||||
| |||||||||||||||||||
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:PatchOp"
], - "Operations": [
- {
- "op": "replace",
- "path": "displayName",
- "value": "Ms. Barbara J Jensen III"
}
]
}{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
], - "id": "2819c223-7f76-453a-919d-413861904646",
- "externalId": "bjensen",
- "userName": "bjensen",
- "displayName": "Ms. Barbara J Jensen III",
- "name": [
- {
- "familyName": "Jensen"
}, - {
- "givenName": "Barbara"
}
], - "active": true,
- "emails": [
- {
- "primary": true,
- "value": "bjensen@example.com"
}
], - "meta": {
- "resourceType": "User",
- "created": "2022-10-12T05:11:47Z",
- "lastModified": "2023-03-30T06:00:03Z",
- "location": "Users/2819c223-7f76-453a-919d-413861904646",
- "version": "W/0"
}, - "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
- "employeeNumber": "12345",
- "costCenter": "Finance",
- "department": "Accounting",
- "manager": [
- {
- "value": "54321",
- "displayName": "Jane Doe"
}
]
}
}To replace all attributes of an existing user, send a PUT request to /Users/$USER_ID. Values in the request body for immutable or read-only fields will be ignored.
| user_id required | string non-empty ID of the user. This corresponds to the identity ID. |
required | object (User) A user represents a human entity as defined by RFC 7643 Section 4.1. A user cooresponds to the identity resource in Beyond Identity. | ||||||||||||||||||
| |||||||||||||||||||
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User"
], - "active": true,
- "userName": "bjensen",
- "externalId": "bjensen",
- "displayName": "Ms. Barbara J Jensen III",
- "name": {
- "familyName": "Jensen",
- "givenName": "Barbara"
}, - "emails": [
- {
- "value": "bjensen@example.com",
- "primary": true
}
]
}{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
], - "id": "2819c223-7f76-453a-919d-413861904646",
- "externalId": "bjensen",
- "userName": "bjensen",
- "displayName": "Ms. Barbara J Jensen III",
- "name": [
- {
- "familyName": "Jensen"
}, - {
- "givenName": "Barbara"
}
], - "active": true,
- "emails": [
- {
- "primary": true,
- "value": "bjensen@example.com"
}
], - "meta": {
- "resourceType": "User",
- "created": "2022-10-12T05:11:47Z",
- "lastModified": "2023-03-30T06:00:03Z",
- "location": "Users/2819c223-7f76-453a-919d-413861904646",
- "version": "W/0"
}, - "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
- "employeeNumber": "12345",
- "costCenter": "Finance",
- "department": "Accounting",
- "manager": [
- {
- "value": "54321",
- "displayName": "Jane Doe"
}
]
}
}To delete a user, send a DELETE request to /Users/$USER_ID.
| user_id required | string non-empty ID of the user. This corresponds to the identity ID. |
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:Error"
], - "status": "400",
- "scimType": "invalidValue",
- "detail": "A required value was missing, or the value specified was not compatible with the operation or attribute type, or resource schema."
}To create a group, send a POST request to /Groups. Values in the request body for read-only fields will be ignored.
required | object (Group) A group is a collection of users corresponding to RFC 7643 Section 4.2. | ||||||
| |||||||
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:Group"
], - "id": "22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "displayName": "Test Group"
}{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:Group"
], - "id": "22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "displayName": "Test Group",
- "meta": {
- "created": "2023-04-10T06:08:28Z",
- "lastModified": "2023-04-10T06:08:28Z",
- "location": "Groups/22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "resourceType": "Group",
- "version": "W/0"
}
}To list all groups, send a GET request to /Groups.
Currently, filtering on groups only supports the eq and ne operators
and the displayName attribute.
The response will contain at most 1000 items. If count is not specified or is zero, the response will not contain any resources. There is no defined ordering of the list of groups in the response. Note that the maximum page size is subject to change.
Members will not be returned with the group.
| filter | string Filter for list methods. Filters follow the SCIM grammar from RFC 7644 Section 3.4.2.2. |
| count | integer <uint32> >= 0 Default: 0 Specifies the desired maximum number of query results per page. A negative value is treated as 0, which indicates that the response should not contain any resources. Note that the response may include fewer results than the requested count. |
| startIndex | integer <uint32> >= 1 Default: 1 The 1-based index of the first query result. |
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:ListResponse"
], - "Resources": [
- {
- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:Group"
], - "id": "22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "displayName": "Test Group",
- "meta": {
- "created": "2023-04-10T06:08:28Z",
- "lastModified": "2023-04-10T06:08:28Z",
- "location": "Groups/22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "resourceType": "Group",
- "version": "W/0"
}
}
], - "itemsPerPage": 1000,
- "startIndex": 1,
- "totalResults": 1
}To retrieve an existing group, send a GET request to /Groups/$GROUP_ID.
| group_id required | string non-empty ID of the group. |
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:Group"
], - "id": "ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
- "displayName": "Help Desk",
- "meta": {
- "resourceType": "Group",
- "created": "2022-04-07T07:23:33Z",
- "lastModified": "2023-03-30T07:00:14Z",
- "location": "Groups/ed9fcce6-ec82-458e-ae58-e2d975cfc32d",
- "version": "W/0"
}
}To update only specific attributes of an existing group, send a PATCH
request to /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.
Note that the Beyond Identity SCIM server currently does not support atomic PATCH operations. If a request contains multiple operations, the request may be partially applied.
The Beyond Identity SCIM server also does not support modifying both a group and its membership in the same operation. For example, a PATCH request to update a group's display name and its membership should specify two separate operations, one to update the display name and the other to modify the membership.
Currently, "replace" operations are supported for displayName while "add" and "remove" operations are supported for members. Multiple members may be added at a time, but batch remove is not supported. Note that while member changes will take affect, they will not be reflected in the response as members are not currently returned with groups.
| group_id required | string non-empty ID of the group. |
required | object (Group) A group is a collection of users corresponding to RFC 7643 Section 4.2. | ||||||
| |||||||
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:PatchOp"
], - "Operations": [
- {
- "op": "replace",
- "path": "displayName",
- "value": "Test Group"
}
]
}{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:Group"
], - "id": "22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "displayName": "Test Group",
- "meta": {
- "created": "2023-04-10T06:08:28Z",
- "lastModified": "2023-04-10T06:08:28Z",
- "location": "Groups/22e7c78c-39ff-4501-8ed4-32d0479e54c1",
- "resourceType": "Group",
- "version": "W/0"
}
}To delete a group, send a DELETE request to /Groups/$GROUP_ID.
| group_id required | string non-empty ID of the group. |
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:Error"
], - "status": "400",
- "scimType": "invalidValue",
- "detail": "A required value was missing, or the value specified was not compatible with the operation or attribute type, or resource schema."
}To list all supported resource types, send a GET request to
/ResourceTypes.
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:ListResponse"
], - "Resources": [
- {
- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
], - "id": "User",
- "name": "User",
- "description": "User Account",
- "endpoint": "/Users",
- "schema": "urn:ietf:params:scim:schemas:core:2.0:User",
- "schemaExtensions": [ ]
}, - {
- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
], - "id": "Group",
- "name": "Group",
- "description": "User Groups",
- "endpoint": "/Groups",
- "schema": "urn:ietf:params:scim:schemas:core:2.0:Group",
- "schemaExtensions": [
- {
- "required": false,
- "schema": "urn:scim:schemas:extension:byndid:1.0:Group"
}
]
}
], - "itemsPerPage": 1000,
- "startIndex": 1,
- "totalResults": 2
}To list all supported resource schemas, send a GET request to /Schemas.
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:ListResponse"
], - "Resources": [
- {
- "id": "urn:ietf:params:scim:schemas:core:2.0:User",
- "name": "User",
- "description": "User resource",
- "attributes": [
- {
- "name": "externalId",
- "type": "string",
- "description": "A String that is an identifier for the resource as defined by the provisioning client.\n",
- "caseExact": true,
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "always",
- "uniqueness": "server"
}, - {
- "name": "userName",
- "type": "string",
- "caseExact": true,
- "description": "The username of the user. The value of this field will be returned as the subject of a OIDC ID Token.\n",
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "always",
- "uniqueness": "server"
}, - {
- "name": "displayName",
- "type": "string",
- "caseExact": true,
- "description": "The name of the User, suitable for display to end-users. The name SHOULD be the full name of the User being described, if known.\n",
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "always",
- "uniqueness": "none"
}, - {
- "name": "active",
- "type": "boolean",
- "description": "A Boolean value indicating the User's administrative status within the Beyond Identity Service.\n",
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "always"
}, - {
- "name": "name",
- "type": "complex",
- "description": "The components of the user's real name.",
- "multiValued": false,
- "mutability": "readWrite",
- "required": false,
- "returned": "request",
- "subAttributes": [
- {
- "name": "familyName",
- "type": "string",
- "description": "The family name of the User, or last name in most Western languages (e.g., 'Jensen' given the full name 'Ms. Barbara J Jensen, III').\n",
- "caseExact": true,
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "request",
- "uniqueness": "none"
}, - {
- "name": "givenName",
- "type": "string",
- "description": "The given name of the User, or first name in most Western languages (e.g., \"Barbara\" given the full name \"Ms. Barbara Jane Jensen, III\").\n",
- "caseExact": true,
- "multiValued": false,
- "mutability": "readWrite",
- "required": true,
- "returned": "request",
- "uniqueness": "none"
}
]
}, - {
- "name": "emails",
- "type": "complex",
- "description": "Email addresses for the User. Providing a primary is required.\n",
- "multiValued": true,
- "mutability": "readWrite",
- "required": true,
- "returned": "always",
- "subAttributes": [
- {
- "name": "value",
- "type": "string",
- "description": "",
- "caseExact": false,
- "multiValued": false,
- "mutability": "readWrite",
- "required": false,
- "returned": "default",
- "uniqueness": "none"
}, - {
- "name": "primary",
- "type": "boolean",
- "description": "",
- "multiValued": false,
- "mutability": "readWrite",
- "required": false,
- "returned": "default"
}
]
}
]
}, - {
- "id": "urn:ietf:params:scim:schemas:core:2.0:Group",
- "name": "Group",
- "description": "Group resource",
- "attributes": [
- {
- "name": "id",
- "type": "string",
- "description": "group id",
- "caseExact": false,
- "multiValued": false,
- "mutability": "readWrite",
- "required": false,
- "returned": "default",
- "uniqueness": "server"
}, - {
- "name": "displayName",
- "type": "string",
- "description": "A human-readable name for the Group.",
- "caseExact": false,
- "multiValued": false,
- "mutability": "readWrite",
- "required": false,
- "returned": "default",
- "uniqueness": "server"
}, - {
- "name": "members",
- "type": "complex",
- "description": "A list of members of the group.",
- "multiValued": true,
- "mutability": "readWrite",
- "required": false,
- "returned": "default",
- "subAttributes": [
- {
- "name": "value",
- "type": "string",
- "description": "Identifier of the member of this Group.",
- "caseExact": false,
- "multiValued": false,
- "mutability": "immutable",
- "required": false,
- "returned": "default",
- "uniqueness": "none"
}, - {
- "name": "",
- "type": "reference",
- "description": "The URI corresponding to a SCIM resource that is a member of this Group.\n",
- "caseExact": true,
- "multiValued": false,
- "mutability": "immutable",
- "referenceTypes": [
- "User"
], - "required": false,
- "returned": "default",
- "uniqueness": "none"
}, - {
- "name": "type",
- "type": "string",
- "description": "A label indicating the type of resource",
- "canonicalValues": [
- "User",
- "Group"
], - "caseExact": false,
- "multiValued": false,
- "mutability": "immutable",
- "required": false,
- "returned": "default",
- "uniqueness": "none"
}
]
}
]
}
], - "itemsPerPage": 1000,
- "startIndex": 1,
- "totalResults": 2
}To retrieve the service provider configuration, send a GET request to /ServiceProviderConfig.
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
], - "authenticationSchemes": [
- {
- "name": "",
- "description": "",
- "documentationUri": "",
- "primary": false,
- "specUri": "",
- "type": "oauthbearertoken"
}
], - "bulk": {
- "maxOperations": 1000,
- "maxPayloadSize": 1048576,
- "supported": false
}, - "changePassword": {
- "supported": false
}, - "documentationUri": "",
- "etag": {
- "supported": false
}, - "filter": {
- "maxResults": 1000,
- "supported": true
}, - "patch": {
- "supported": true
}, - "sort": {
- "supported": false
}
}