Beyond Identity SCIM API

The SCIM API from Beyond Identity — 7 operation(s) for scim.

OpenAPI Specification

beyond-identity-scim-api-openapi.yml Raw ↑
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). <br /><br />\n\nThe Beyond Identity Secure Access API defines methods for managing resources in the Beyond Identity Secure Access platform.<br /><br />\n\nAll of the functionality available in the Beyond Identity Admin Console is\nalso available through the API. <br /><br />\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. <br><br>\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. <br><br>\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. <br /><br />\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\". <br /><br />\n\nAlternatively, an access token may also be generated directly via the API by\nrequesting a token for the \"Beyond Identity Management API\" Application. <br><br>\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. <br><br>\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. <br /><br />\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. <br /><br />\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. <br /><br />\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. <br /><br />\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. <br /><br />\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. <br /><br />\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. <br /><br />\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. <br><br>\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. <br><br>\n\nStatuses in the 500 range indicate that the server encountered an internal\nissue and was unable to fulfill the request. <br><br>\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. <br><br>\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. <br><br>\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. <br><br>\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. <br><br>\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. <br><br>\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%20Authorizat

# --- truncated at 32 KB (100 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/beyond-identity/refs/heads/main/openapi/beyond-identity-scim-api-openapi.yml