openapi: 3.0.1 info: title: Beyond Identity Secure Access Applications SCIM API version: 1.7.0 contact: email: support@beyondidentity.com description: "# Introduction\n\n**NOTE:** To determine if you are accessing the Secure Access Platform, check the URL of your Admin Console.\nIf it looks like one of the following, you are using the Secure Access Platform:\n- `https://console.beyondidentity.com` (Localized to your region)\n- `https://console-us.beyondidentity.com` (US region)\n- `https://console-eu.beyondidentity.com` (EU region)\n- `https://console.us1.beyondidentity-gov.com` (US FedRAMP)\n\nIf 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](https://docs.beyondidentity.com/api/v0).

\n\nThe Beyond Identity Secure Access API defines methods for managing resources in the Beyond Identity Secure Access platform.

\n\nAll of the functionality available in the Beyond Identity Admin Console is\nalso available through the API.

\n\nThis API is currently in the early-access stage and is under active\ndevelopment. Feedback and suggestions are encouraged and should be directed\nto the\n[Beyond Identity Developer Slack Channel](https://join.slack.com/t/byndid/shared_invite/zt-1anns8n83-NQX4JvW7coi9dksADxgeBQ).\n\n# Base API URLs\n\nThe base API URLs is determined by the region your tenant is hosted in OR if you are a FedRAMP customer.

\n\n### US Region\n\nIf you are a US region customer, your base API URLs will be:\n- `https://api-us.beyondidentity.com`\n- `https://auth-us.beyondidentity.com`\n\n### EU Region\n\nIf you are a EU region customer, your base API URLs will be:\n- `https://api-eu.beyondidentity.com`\n- `https://auth-eu.beyondidentity.com`\n\n### US FedRAMP\n\n**NOTE**: The FedRAMP version of Secure Access is released approximately *two weeks* after the commercial version, so some API endpoints may not be available immediately.

\n\nIf you are a FedRAMP customer in the US region, your base API URLs will be:\n- `https://api.us1.beyondidentity-gov.com`\n- `https://auth.us1.beyondidentity-gov.com`\n\nFor all the examples in this document, we will use the US region API base URL. You can always replace `https://api-us.beyondidentity.com`\nand `https://auth-us.beyondidentity.com` in the examples to use the proper base URL for your tenant.\n\n# Authentication\n\nAll Beyond Identity API endpoints require authentication using an access\ntoken. The access token is generated through OAuth 2.0 or OIDC, using the\nauthorization code flow or the client credentials flow.

\n\nThe 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\".

\n\nAlternatively, an access token may also be generated directly via the API by\nrequesting a token for the \"Beyond Identity Management API\" Application.

\n\n```\ncurl https://auth-us.beyondidentity.com/v1/tenants/$TENANT_ID/realms/$REALM_ID/applications/$APPLICATION_ID/token \\\n -X POST \\\n -u \"$CLIENT_ID:$CLIENT_SECRET\" --basic \\\n -H \"Content-Type: application/x-www-form-urlencoded\" \\\n -d \"grant_type=client_credentials&scope=$SCOPES\"\n```\n\nThis will work for any application that you have configured to provide\naccess to the Beyond Identity Management API Resource Server. The \"Beyond\nIdentity Management API\" application is provided by default as part of the\ntenant onboarding process.\n\nThe access token must be provided in the `Authorization` header of the\nAPI request.

\n\n```\ncurl https://api-us.beyondidentity.com/v1/... \\\n -X $HTTP_METHOD -H \"Authorization: Bearer $TOKEN\"\n```\n\n## Requests and Responses\n\nTo interact with the Beyond Identity API, all requests should be made over\nHTTPS.

\n\nThe Beyond Identity API is generally structured as a resource-oriented API.\nResources are represented as JSON objects and are used as both inputs to\nand outputs from API methods.

\n\nResource fields may be described as read-only and immutable. A read-only\nfield is only provided on the response. An immutable field is only assigned\nonce and may not be changed after. For example, system-generated IDs are\ndescribed as both read-only and immutable.

\n\nTo create a new resource, requests should use the `POST` method. Create\nrequests include all of the necessary attributes to create a new resource.\nCreate operations return the created resource in the response.

\n\nTo retrieve a single resource or a collection of resources, requests should\nuse the `GET` method. When retrieving a collection of resources, the\nresponse will include an array of JSON objects keyed on the plural name of\nthe requested resource.

\n\nTo update an resource, requests should use the `PATCH` method. Update\noperations support partial updating so requests may specify only the\nattributes which should be updated. Update operations return the updated\nresource in the response.

\n\nTo delete a resource, requests should use the `DELETE` method. Note that\ndelete operations return an empty response instead of returning the\nresource in the response.

\n\n### Example Response for a Realm\n\n```\n{\n \"id\": \"a448fe493e02fa9f\",\n \"tenant_id\": \"000168dc50bdce49\",\n \"display_name\": \"Test Realm\",\n \"create_time\": \"2022-06-22T21:46:08.930278Z\",\n \"update_time\": \"2022-06-22T21:46:08.930278Z\"\n}\n```\n\n### Example Response for a Collection of Realms\n\n```\n{\n \"realms\": [\n {\n \"id\": \"a448fe493e02fa9f\",\n \"tenant_id\": \"000168dc50bdce49\",\n \"display_name\": \"Test Realm\",\n \"create_time\": \"2022-06-22T21:46:08.930278Z\",\n \"update_time\": \"2022-06-22T21:46:08.930278Z\"\n }\n ],\n \"total_size\": 1\n}\n```\n\n## HTTP Statuses\n\nThe API returns standard HTTP statuses and error codes.\n\nStatuses in the 200 range indicate that the request was successfully\nfulfilled and there were no errors.

\n\nStatuses in the 400 range indicate that there was an issue with the request\nthat may be addressed by the client. For example, client errors may\nindicate that the request was missing proper authorization or that the\nrequest was malformed.

\n\nStatuses in the 500 range indicate that the server encountered an internal\nissue and was unable to fulfill the request.

\n\nAll error responses include a JSON object with a `code` field and a\n`message` field. `code` contains a human-readable name for the HTTP status\ncode and `message` contains a high-level description of the error. The\nerror object may also contain additional error details which may be used by\nthe client to determine the exact cause of the error. Refer to each API\nmethod's examples to determine the specific error detail types supported\nfor that method.

\n\n### Invalid Access Token Example\n\nIf the provided access token is invalid, you will receive a 401 error.\nThis error indicates that the token is not recognized and was not generated\nby Beyond Identity.

\n\n```\nHTTP/1.1 401 Unauthorized\n{\n \"code\": \"unauthorized\",\n \"message\": \"unauthorized\"\n}\n```\n\n### Permission Denied Example\n\nIf the provided access token does not have access to the requested resource,\nyou will receive a 403 error. Access tokens are scoped at a minimum to your\ntenant. Any request for resources outside of your tenant will result in this\nerror.

\n\n```\nHTTP/1.1 403 Forbidden\n{\n \"code\": \"forbidden\",\n \"message\": \"forbidden\"\n}\n```\n\n### Missing Resource Example\n\nIf the requested resource does not exist, you will receive a 404 error. The\nspecific API method may return additional details about the missing\nresource.

\n\n```\nHTTP/1.1 404 Not Found\n{\n \"code\": \"not_found\",\n \"message\": \"group not found\"\n \"details\": [\n {\n \"type\": \"ResourceInfo\",\n \"resource_type\": \"Group\",\n \"id\": \"4822738be6b7f658\",\n \"description\": \"group not found\"\n }\n ],\n}\n```\n\n### Invalid Parameters Example\n\nIf the request body contains invalid parameters, you will receive a 400\nerror. The specific API method may return additional details about the\ninvalid parameter.

\n\n```\nHTTP/1.1 400 Bad Request\n{\n \"code\": \"bad_request\",\n \"message\": \"invalid parameters\"\n \"details\": [\n {\n \"type\": \"FieldViolations\"\n \"field_violations\": [\n {\n \"description\": \"missing\",\n \"field\": \"group.display_name\"\n }\n ],\n }\n ],\n}\n```\n" servers: - url: https://api-us.beyondidentity.com description: US region API base URL - url: https://api-eu.beyondidentity.com description: EU region API base URL - url: https://api.us1.beyondidentity-gov.com/ description: US FedRAMP API base URL security: - BearerAuth: [] tags: - name: SCIM paths: /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/Users: post: tags: - SCIM operationId: SCIMCreateUser summary: Create a New User description: 'To create a user, send a POST request to `/Users`. Values in the request body for read-only fields will be ignored. ' security: - BearerAuth: - scim:users:create requestBody: content: application/json: schema: title: Create User Request description: Request for CreateUser. type: object properties: user: $ref: '#/components/schemas/SCIMUser' required: - user examples: Create User: value: 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 responses: '201': description: 'The response will be a JSON object containing the standard attributes associated with a user. ' content: application/json: schema: $ref: '#/components/schemas/SCIMUser' examples: Success: value: 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 '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' get: tags: - SCIM operationId: SCIMListUsers summary: List All Users description: '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. ' security: - BearerAuth: - scim:users:read parameters: - $ref: '#/components/parameters/scim_filter' - $ref: '#/components/parameters/scim_count' - $ref: '#/components/parameters/scim_start_index' responses: '200': description: 'The response will be a ListResponse containing the users corresponding to the request. The `totalResults` key may be used to determine whether there are additional pages to fetch for the request. ' content: application/json: schema: title: List Users Response description: Response for ListUsers. type: object properties: schemas: type: array description: 'The list of schemas used to define the list response. This only contains the ListResponse schema ("urn:ietf:params:scim:api:messages:2.0:ListResponse"). ' items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse Resources: type: array description: 'An array of users corresponding to the filter from the request. ' items: $ref: '#/components/schemas/SCIMUser' maxItems: 1000 totalResults: type: integer format: uint32 description: 'Total number of results matching the request. This value may be larger than the number of resources returned, such as when returning a single page of results where multiple pages are available. ' startIndex: type: integer format: uint32 description: 'The 1-based index of the first result in the current set of list results. ' itemsPerPage: type: integer format: uint32 description: 'The number of resources returned in a list response page. ' required: - schemas - Resources - totalResults - startIndex - itemsPerPage examples: Success: value: 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 '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: value: 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. '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: value: schemas: - urn:ietf:params:scim:api:messages:2.0:Error status: '401' detail: The authorization header is invalid or missing. scimType: unauthorized '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: value: schemas: - urn:ietf:params:scim:api:messages:2.0:Error status: '403' detail: token is unauthorized. scimType: forbidden '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: value: schemas: - urn:ietf:params:scim:api:messages:2.0:Error status: '500' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/Users/{user_id}: get: tags: - SCIM operationId: SCIMGetUser summary: Retrieve an Existing User description: 'To retrieve an existing user, send a GET request to `/Users/$USER_ID`. ' security: - BearerAuth: - scim:users:read parameters: - $ref: '#/components/parameters/scim_user_id' responses: '200': description: OK. content: application/json: schema: $ref: '#/components/schemas/SCIMUser' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: User Not Found: value: schemas: - urn:ietf:params:scim:api:messages:2.0:Error status: '404' detail: Resource 2819c223-7f76-453a-919d-413861904646 not found. '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' patch: tags: - SCIM operationId: SCIMUpdateUser summary: Patch a User description: '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. ' security: - BearerAuth: - scim:users:update parameters: - $ref: '#/components/parameters/scim_user_id' requestBody: content: application/json: schema: title: Update User Request description: Request for UpdateUser. type: object properties: user: $ref: '#/components/schemas/SCIMUser' required: - user examples: Update Display Name: value: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: replace path: displayName value: Ms. Barbara J Jensen III responses: '200': description: 'The response will be a JSON object containing the standard attributes associated with a user. ' content: application/json: schema: $ref: '#/components/schemas/SCIMUser' examples: Success: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/post/responses/201/content/application~1json/examples/Success' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: User Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' put: tags: - SCIM operationId: SCIMReplaceUser summary: Replace a User description: '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. ' security: - BearerAuth: - scim:users:update parameters: - $ref: '#/components/parameters/scim_user_id' requestBody: content: application/json: schema: title: Update User Request description: Request for UpdateUser. type: object properties: user: $ref: '#/components/schemas/SCIMUser' required: - user examples: Replace User: value: 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 responses: '200': description: 'The response will be a JSON object containing the standard attributes associated with a user. ' content: application/json: schema: $ref: '#/components/schemas/SCIMUser' examples: Success: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/post/responses/201/content/application~1json/examples/Success' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: User Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' delete: tags: - SCIM operationId: SCIMDeleteUser summary: Delete a User description: To delete a user, send a DELETE request to `/Users/$USER_ID`. security: - BearerAuth: - scim:users:delete parameters: - $ref: '#/components/parameters/scim_user_id' responses: '204': description: The action was successful and the response body is empty. '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: User Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/Groups/: post: tags: - SCIM operationId: SCIMCreateGroup summary: Create a New Group description: 'To create a group, send a POST request to `/Groups`. Values in the request body for read-only fields will be ignored. ' security: - BearerAuth: - scim:groups:create requestBody: content: application/json: schema: title: Create Group Request description: Request for CreateGroup. type: object properties: group: $ref: '#/components/schemas/SCIMGroup' required: - group examples: Create Group: value: schemas: - urn:ietf:params:scim:schemas:core:2.0:Group id: 22e7c78c-39ff-4501-8ed4-32d0479e54c1 displayName: Test Group responses: '201': description: 'The response will be a JSON object containing the standard attributes associated with a group. ' content: application/json: schema: $ref: '#/components/schemas/SCIMGroup' examples: Success: value: 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 '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' get: tags: - SCIM operationId: SCIMListGroups summary: List All Groups description: '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. ' security: - BearerAuth: - scim:groups:read parameters: - $ref: '#/components/parameters/scim_filter' - $ref: '#/components/parameters/scim_count' - $ref: '#/components/parameters/scim_start_index' responses: '200': description: 'The response will be a ListResponse containing the groups corresponding to the request. The `totalResults` key may be used to determine whether there are additional pages to fetch for the request. ' content: application/json: schema: title: List Groups Response description: Response for ListGroups. type: object properties: schemas: type: array description: 'The list of schemas used to define the list response. This only contains the ListResponse schema ("urn:ietf:params:scim:api:messages:2.0:ListResponse"). ' items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse Resources: type: array description: 'An array of groups corresponding to the filter from the request. ' items: $ref: '#/components/schemas/SCIMGroup' maxItems: 1000 totalResults: type: integer format: uint32 description: 'Total number of results matching the request. This value may be larger than the number of resources returned, such as when returning a single page of results where multiple pages are available. ' startIndex: type: integer format: uint32 description: 'The 1-based index of the first result in the current set of list results. ' itemsPerPage: type: integer format: uint32 description: 'The number of resources returned in a list response page. ' required: - schemas - Resources - totalResults - startIndex - itemsPerPage examples: Success: value: 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 '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/Groups/{group_id}: get: tags: - SCIM operationId: SCIMGetGroup summary: Retrieve an existing group description: 'To retrieve an existing group, send a GET request to `/Groups/$GROUP_ID`. ' security: - BearerAuth: - scim:groups:read parameters: - $ref: '#/components/parameters/scim_group_id' responses: '200': description: 'The response will be a JSON object containing the standard attributes associated with a group. ' content: application/json: schema: $ref: '#/components/schemas/SCIMGroup' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Group Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' patch: tags: - SCIM operationId: SCIMUpdateGroup summary: Patch a Group description: '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. ' security: - BearerAuth: - scim:groups:update parameters: - $ref: '#/components/parameters/scim_group_id' requestBody: content: application/json: schema: title: Update Group Request description: Request for UpdateGroup. type: object properties: group: $ref: '#/components/schemas/SCIMGroup' required: - group examples: Replace DisplayName: value: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: replace path: displayName value: Test Group Add Members: value: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: add path: members value: - value: 6c9f819d6a0f1b57 - value: a46bd3fb5c62d80d Remove Member: value: schemas: - urn:ietf:params:scim:api:messages:2.0:PatchOp Operations: - op: remove path: members value: - value: 6c9f819d6a0f1b57 responses: '200': description: 'The response will be a JSON object containing the standard attributes associated with a group. ' content: application/json: schema: $ref: '#/components/schemas/SCIMGroup' examples: Success: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Groups~1/post/responses/201/content/application~1json/examples/Success' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Group Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' delete: tags: - SCIM operationId: SCIMDeleteGroup summary: Delete a Group description: 'To delete a group, send a DELETE request to `/Groups/$GROUP_ID`. ' security: - BearerAuth: - scim:groups:delete parameters: - $ref: '#/components/parameters/scim_group_id' responses: '204': description: The action was successful and the response body is empty. '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Invalid Parameters: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/400/content/application~1json/examples/Invalid%20Parameters' '401': description: Unauthorized. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/401/content/application~1json/examples/Missing%20Authorization' '403': description: Forbidden. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Missing Authorization: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/403/content/application~1json/examples/Missing%20Authorization' '404': description: The resource was not found. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Group Not Found: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users~1%7Buser_id%7D/get/responses/404/content/application~1json/examples/User%20Not%20Found' '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/ResourceTypes: get: tags: - SCIM operationId: ListResourceTypes summary: List All Resource Types description: 'To list all supported resource types, send a GET request to `/ResourceTypes`. ' responses: '200': description: 'The response will be a list of JSON objects, each of which contains the standard resource type attributes. ' content: application/json: schema: title: List Resource Types Response description: Response for ListResourceTypes. type: object properties: schemas: type: array description: 'The list of schemas used to define the list response. This only contains the ListResponse schema ("urn:ietf:params:scim:api:messages:2.0:ListResponse"). ' items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse Resources: type: array description: An array of resource types corresponding to the request. items: $ref: '#/components/schemas/SCIMResourceType' maxItems: 1000 totalResults: type: integer format: uint32 description: 'Total number of results matching the request. This value may be larger than the number of resources returned, such as when returning a single page of results where multiple pages are available. ' startIndex: type: integer format: uint32 description: 'The 1-based index of the first result in the current set of list results. ' itemsPerPage: type: integer format: uint32 description: 'The number of resources returned in a list response page. ' required: - schemas - Resources - totalResults - startIndex - itemsPerPage examples: Success: value: 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 '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/Schemas: get: tags: - SCIM operationId: ListSchemas summary: List All Schemas description: 'To list all supported resource schemas, send a GET request to `/Schemas`. ' responses: '200': description: 'The response will be a list of JSON objects, each of which contains the standard resource schema attributes. ' content: application/json: schema: title: List Schemas Response description: Response for ListSchemas. type: object properties: schemas: type: array description: 'The list of schemas used to define the list response. This only contains the ListResponse schema ("urn:ietf:params:scim:api:messages:2.0:ListResponse"). ' items: type: string example: urn:ietf:params:scim:api:messages:2.0:ListResponse Resources: type: array description: An array of schemas corresponding to the request. items: $ref: '#/components/schemas/SCIMSchema' maxItems: 1000 totalResults: type: integer format: uint32 description: 'Total number of results matching the request. This value may be larger than the number of resources returned, such as when returning a single page of results where multiple pages are available. ' startIndex: type: integer format: uint32 description: 'The 1-based index of the first result in the current set of list results. ' itemsPerPage: type: integer format: uint32 description: 'The number of resources returned in a list response page. ' required: - schemas - Resources - totalResults - startIndex - itemsPerPage examples: Success: value: 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. ' 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. ' 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. ' 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. ' 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''). ' 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"). ' 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. ' 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. ' 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 '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' /v1/tenants/{tenant_id}/realms/{realm_id}/scim/v2/ServiceProviderConfig: get: tags: - SCIM operationId: GetServiceProviderConfig summary: Retrieve the Service Provider Configuration description: 'To retrieve the service provider configuration, send a GET request to `/ServiceProviderConfig`. ' responses: '200': description: 'The response will be a JSON object containing the standard attributes associated with a service provider configuration. ' content: application/json: schema: $ref: '#/components/schemas/SCIMServiceProviderConfig' examples: Internal Error: value: 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 '429': description: Rate limit exceeded. headers: RateLimit-Limit: schema: type: string description: Request limit per time window (see https://www.ietf.org/archive/id/draft-polli-ratelimit-headers-02.html#section-toc.1-1.3.2.1.1). example: 1 RateLimit-Remaining: schema: type: integer description: The number of requests left for the time window. example: 0 RateLimit-Reset: schema: type: integer description: Number of seconds until the current rate limit window resets. example: 30 '500': description: Server error. content: application/json: schema: $ref: '#/components/schemas/SCIMError' examples: Internal Error: $ref: '#/paths/~1v1~1tenants~1%7Btenant_id%7D~1realms~1%7Brealm_id%7D~1scim~1v2~1Users/get/responses/500/content/application~1json/examples/Internal%20Error' components: schemas: SCIMServiceProviderConfig: title: ServiceProviderConfig description: 'The service provider configuration, as defined in [RFC 7643 Section 5](https://www.rfc-editor.org/rfc/rfc7643#section-5). ' type: object properties: schemas: type: array description: 'The list of schemas used to define the resource type. This only contains the core ServiceProviderConfig schema ("urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"). ' items: type: string example: urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig documentationUri: type: string description: 'URL pointing to the service provider''s human-consumable help documentation. ' readOnly: true patch: type: object properties: supported: type: boolean description: 'Indicator specifying whether PATCH operations are supported. The Beyond Identity SCIM server supports PATCH operations. ' example: true readOnly: true required: - supported bulk: type: object description: Configuration for bulk operations. properties: supported: type: boolean description: 'Indicator specifying whether PATCH operations are supported. The Beyond Identity SCIM server does not support bulk operations. ' example: false readOnly: true maxOperations: type: integer format: uint32 description: Maximum number of operations allowed per bulk operation. example: 1000 readOnly: true maxPayloadSize: type: integer format: uint32 description: Maximum payload size in bytes. example: 1048576 readOnly: true required: - supported - maxOperations - maxPayloadSize filter: type: object description: Configuration for query filters. properties: supported: type: boolean description: 'Indicator specifying whether filters are supported for querying. The Beyond Identity SCIM server supports filters for querying. ' example: true readOnly: true maxResults: type: integer format: uint32 description: Maximum number of resources returned in a response. example: 1000 readOnly: true required: - supported - maxResults changePassword: type: object description: Configuration for password support. properties: supported: type: boolean description: 'Indicator specifying whether changing a password is supported. The Beyond Identity SCIM server does not support passwords. ' example: true readOnly: true required: - supported sort: type: object description: Configuration for sort support in queries. properties: supported: type: boolean description: 'Indicator specifying whether sorting is supported for querying. The Beyond Identity SCIM server does not support sorting. ' example: false readOnly: true required: - supported etag: type: object description: Configuration for ETag support. properties: supported: type: boolean description: 'Indicator specifying whether ETags are supported. The Beyond Identity SCIM server does not support ETags. ' example: true readOnly: true required: - supported authenticationSchemes: type: array description: Supported authentication schemes. items: type: object properties: type: type: string description: The authentication scheme. enum: - oauth - oauth2 - oauthbearertoken - httpbasic - httpdigest readOnly: true example: oauthbearertoken name: type: string description: The common authentication scheme name. readOnly: true description: type: string description: A description of the authentication scheme. readOnly: true specUri: type: string description: URL pointing to the authentication scheme specification. readOnly: true documentationUri: type: string description: 'URL pointing to the authentication scheme''s usage documentation. ' readOnly: true required: - type - name - description - specUri - documentationUri readOnly: true required: - schemas - documentationUri - patch - bulk - filter - changePassword - sort - etag - authenticationSchemes SCIMGroup: title: Group description: 'A group is a collection of users corresponding to [RFC 7643 Section 4.2](https://www.rfc-editor.org/rfc/rfc7643#section-4.2). ' type: object properties: schemas: type: array description: 'The list of schemas used to define the group. This must contain the core Group schema ("urn:ietf:params:scim:schemas:core:2.0:Group") and may include the custom Beyond Identity Group schema extension ("urn:scim:schemas:extension:byndid:1.0:Group"). ' items: type: string example: urn:ietf:params:scim:schemas:core:2.0:Group id: type: string description: 'The unique ID of the group. This is automatically generated on creation. This field is immutable and output-only. ' minLength: 1 readOnly: true example: ed9fcce6-ec82-458e-ae58-e2d975cfc32d displayName: type: string minLength: 1 description: 'The unique display name of the group. This name is used for display purposes. ' example: Help Desk meta: $ref: '#/components/schemas/SCIMUser/properties/meta' required: - schemas SCIMUser: title: User description: 'A user represents a human entity as defined by [RFC 7643 Section 4.1](https://www.rfc-editor.org/rfc/rfc7643#section-4.1). A user cooresponds to the identity resource in Beyond Identity. ' type: object properties: schemas: type: array description: 'The list of schemas used to define the user. This must contain only the core User schema ("urn:ietf:params:scim:schemas:core:2.0:User"). ' items: type: string example: urn:ietf:params:scim:schemas:core:2.0:User id: type: string description: 'The unique ID of the user. This is automatically generated on creation. This field is immutable and output-only. ' minLength: 1 readOnly: true example: ed9fcce6-ec82-458e-ae58-e2d975cfc32d externalId: type: string description: The provisioning client's unique identifier for the resource. example: external-id-abcdef userName: type: string minLength: 1 description: 'The unique username of the user. ' example: test_user displayName: type: string minLength: 1 description: 'Display name of the User. This name is used for display purposes. ' example: Test User active: type: boolean description: 'Indicator for the user''s administrative status. If true, the user has administrative capabilities. ' example: true emails: type: array description: The list containing the user's emails. items: type: object description: Definition of an email. properties: primary: type: boolean description: 'Indicator for the primary or preferred email address. Only the primary email address is included on the response. All other provided email addresses will be ignored. ' example: true value: type: string description: The email address. example: test@test.com name: type: object description: Definition of the user's name. properties: givenName: type: string description: 'The given name of the user, or first name in most Western languages. ' example: Barbara familyName: type: string description: 'The family name of the user, or last name in most Western languages. ' example: Jensen urn:ietf:params:scim:schemas:extension:enterprise:2.0:User: title: EnterpriseUserExtension description: 'Defines attributes commonly used in representing users that belong to, or act on behalf of, a business or enterprise. The enterprise User extension is identified using the following schema URI: "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User". ' type: object properties: employeeNumber: type: string description: 'A string identifier, typically numeric or alphanumeric, assigned to a person, typically based on order of hire or association with an organization as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' costCenter: type: string description: 'Identifies the name of a cost center as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' organization: type: string description: 'Identifies the name of an organization as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' department: type: string description: 'Identifies the name of a department as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' division: type: string description: 'Identifies the name of a division as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' manager: type: object properties: value: type: string description: 'The "id" of the SCIM resource representing the user''s manager as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' displayName: type: string description: 'The displayName of the user''s manager. This attribute is OPTIONAL, and mutability is "readOnly" as defined in [RFC 7643](https://datatracker.ietf.org/doc/html/rfc7643#section-4.3). ' meta: title: Meta description: 'Resource metadata as defined in [RFC 7643 Section 3.1](https://www.rfc-editor.org/rfc/rfc7643#section-3.1). This attribute is only populated on responses and is ignored on requests. ' type: object properties: resourceType: type: string description: The name of the resource type of the resource. example: Group created: type: string format: date-time description: Timestamp of when the resource was created. readOnly: true example: '2022-04-07T07:23:33Z' lastModified: type: string format: date-time description: Timestamp of when the resource was last updated. readOnly: true example: '2023-03-30T07:00:14Z' location: type: string description: The URI of the resource being returned. readOnly: true example: Groups/ed9fcce6-ec82-458e-ae58-e2d975cfc32d version: type: string description: 'The version of the resource being returned. This is always "W/0". ' readOnly: true example: W/0 required: - resourceType - created - lastModified - location - version required: - schemas SCIMError: type: object properties: schemas: type: array description: 'The list of schemas used to define the error. This only contains the Error schema ("urn:ietf:params:scim:api:messages:2.0:Error"). ' items: type: string example: urn:ietf:params:scim:api:messages:2.0:Error status: type: string description: The HTTP status code of the error expressed as a JSON string. scimType: type: string description: 'A SCIM detail error keyword corresponding to [RFC 7644 Section 3.12](https://datatracker.ietf.org/doc/html/rfc7644#section-3.12). ' detail: type: string description: A detailed human-readable message. required: - schemas - status SCIMResourceType: title: ResourceType description: 'A resource type specifies the metadata about a resource type, as defined in [RFC 7643 Section 6](https://www.rfc-editor.org/rfc/rfc7643#section-6). ' type: object properties: schemas: type: array description: 'The list of schemas used to define the resource type. This only contains the core ResourceType schema ("urn:ietf:params:scim:schemas:core:2.0:ResourceType"). ' items: type: string example: urn:ietf:params:scim:schemas:core:2.0:ResourceType id: type: string description: 'ID of the resource type. This corresponds to the name of the type. ' minLength: 1 readOnly: true example: User name: type: string minLength: 1 description: Name of the resource type. readOnly: true example: User description: type: string description: Description of the resource type. readOnly: true example: User Account endpoint: type: string description: The relative base URL of the resource type. readOnly: true example: /Users schema: type: string description: The schema defining the resource type. readOnly: true example: urn:ietf:params:scim:schemas:core:2.0:User schemaExtensions: type: array description: Schema extensions for the resource type. items: type: object properties: required: type: boolean description: 'Indicator specifying whether the extension is required for the resource type. If true, the extension is required. ' readOnly: true example: false schema: type: string description: URN of the schema extension. readOnly: true example: urn:scim:schemas:extension:byndid:1.0:Group required: - required - schema readOnly: true required: - schemas - id - name - description - endpoint - schema - schemaExtensions SCIMSchema: title: Schema description: 'Definition of a schema which indicates what attributes are supported. This resource corresponds to [RFC 7643 Section 7](https://www.rfc-editor.org/rfc/rfc7643#section-7). ' type: object properties: id: type: string description: 'ID of the schema defined as a URN. ' minLength: 1 readOnly: true example: urn:ietf:params:scim:schemas:core:2.0:User name: type: string minLength: 1 description: Name of the resource type. readOnly: true example: User description: type: string description: Description of the resource type. readOnly: true example: User resource attributes: type: array description: List of attributes supported for this schema. items: type: object description: The definition of an attribute. properties: name: type: string description: The attribute's name. readOnly: true example: id type: type: string description: The attribute's type. enum: - string - boolean - decimal - integer - dateTime - reference - complex readOnly: true example: string subAttributes: type: array description: 'A list of sub-attributes. This is defined only for complex attributes. Each sub-attribute is defined with the same schema as an attribute. ' items: type: object readOnly: true multiValued: type: boolean description: Indicator for the attribute's plurality. readOnly: true example: true description: type: string description: The attribute's human-readable description. readOnly: true example: The display name of the user. required: type: boolean description: Indicator for whether the attribute is required. readOnly: true example: true caseExact: type: boolean description: 'Indicator for whether the attribute is case-sensitive. This only applies for string attributes. ' readOnly: true example: true mutability: type: string description: Definition of the attribute's mutability. enum: - readOnly - readWrite - immutable - writeOnly readOnly: true example: readOnly returned: type: string description: Definition of when the attribute is returned. enum: - always - never - default - request readOnly: true example: default uniqueness: type: string description: Definition of the attribute's uniqueness. enum: - none - server - global readOnly: true example: none referenceTypes: type: array description: 'The list of types that may be referenced by this attribute. This only applies to attributes of type "reference". ' items: type: string example: User readOnly: true required: - name - type - multiValued - description - required - mutability - returned readOnly: true required: - id - name - description - attributes parameters: scim_user_id: name: user_id in: path description: ID of the user. This corresponds to the identity ID. required: true schema: type: string minLength: 1 scim_start_index: name: startIndex in: query description: The 1-based index of the first query result. schema: type: integer format: uint32 minimum: 1 default: 1 scim_group_id: name: group_id in: path description: ID of the group. required: true schema: type: string minLength: 1 scim_count: name: count in: query description: '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. ' schema: type: integer format: uint32 minimum: 0 default: 0 scim_filter: name: filter in: query description: 'Filter for list methods. Filters follow the SCIM grammar from [RFC 7644 Section 3.4.2.2](https://datatracker.ietf.org/doc/html/rfc7644#section-3.4.2.2). ' schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: 'See the [Authentication](#section/Authentication) section for details. '