> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plerion.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Supported SCIM protocol features



## OpenAPI

````yaml /api-reference/scim-openapi.yaml get /v1/organization/scim/v2/ServiceProviderConfig
openapi: 3.1.0
info:
  title: Plerion SCIM 2.0 provisioning API
  version: v1
  termsOfService: https://www.plerion.com/terms-and-conditions
  contact:
    name: Plerion Pty Ltd
    url: https://www.plerion.com/contact-us
    email: support@plerion.com
  license:
    name: Plerion Use License
    url: https://www.plerion.com/terms-and-conditions
  description: |-
    The Plerion SCIM 2.0 provisioning API lets an identity provider, a
    script, or any other client create, update, deactivate, and delete users
    in a Plerion organization, and keep its groups in sync as Plerion user
    groups. It follows RFC 7643 (schema) and RFC 7644 (protocol), so any
    SCIM 2.0 client can use it.

    SCIM does not have to be enabled on your single sign-on settings, and
    the organization does not need a SAML connection. The API reads and
    writes every user and every user group in the organization, whoever
    created them.

    A record maintained outside Plerion, by an identity provider sync or
    by calls to this API, is badged SCIM managed in the Plerion console.
    The badge is a marker, not a lock. Do not manage the
    same record from both an identity provider sync and by hand: the next
    sync can overwrite what you wrote.

    SCIM carries users and groups, not roles. Roles are granted in the
    Plerion console, to a user directly or to a user group. A user's
    effective permissions are the union of both.

    Requests are authenticated with a Plerion organization API key sent as
    a bearer token. The organization is resolved from the key, so no request
    names an organization. Write operations need a key with the readWrite
    access level.

    The Plerion console shows the exact SCIM base URL for your organization
    in the SCIM provisioning section of your single sign-on settings. Paste
    that value into your identity provider rather than assembling it by
    hand. For setup instructions, see the SCIM provisioning guides.
servers:
  - url: https://{region}.api.plerion.com
    description: Production API server - Select your preferred region
    variables:
      region:
        default: au
        enum:
          - au
          - sg1
          - in1
          - us1
security:
  - organizationApiKey: []
tags:
  - name: Discovery
    x-displayName: Discovery
    description: >-
      The SCIM discovery endpoints describe what this service supports. Identity
      providers read them automatically when you test a connection, and they
      advertise only the features that are actually available.
  - name: Users
    x-displayName: Users
    description: >-
      Create, read, update, deactivate, and delete users in a Plerion
      organization. Writes need an organization API key with the readWrite
      access level.
  - name: Groups
    x-displayName: Groups
    description: >-
      Create, read, update, and delete user groups and their membership. Every
      user group in the organization is in scope, whether an identity provider
      pushed it or someone created it in the console. Writes need an
      organization API key with the readWrite access level.
paths:
  /v1/organization/scim/v2/ServiceProviderConfig:
    get:
      tags:
        - Discovery
      summary: Supported SCIM protocol features
      operationId: getServiceProviderConfig
      responses:
        '200':
          description: Service provider configuration.
          content:
            application/scim+json:
              schema:
                $ref: '#/components/schemas/ServiceProviderConfig'
              example:
                schemas:
                  - urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
                documentationUri: https://docs.plerion.com
                patch:
                  supported: true
                bulk:
                  supported: false
                  maxOperations: 0
                  maxPayloadSize: 0
                filter:
                  supported: true
                  maxResults: 1000
                changePassword:
                  supported: false
                sort:
                  supported: true
                etag:
                  supported: false
                authenticationSchemes:
                  - type: oauthbearertoken
                    name: Organization API key
                    description: >-
                      A Plerion organization API key with readWrite access
                      level, passed as a bearer token.
                    primary: true
                meta:
                  resourceType: ServiceProviderConfig
                  location: >-
                    https://au.api.plerion.com/v1/organization/scim/v2/ServiceProviderConfig
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  schemas:
    ServiceProviderConfig:
      type: object
      description: RFC 7643 §5 service provider configuration.
      properties:
        schemas:
          type: array
          items:
            type: string
            const: urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig
        documentationUri:
          type: string
          format: uri
        patch:
          type: object
          properties:
            supported:
              type: boolean
        bulk:
          type: object
          properties:
            supported:
              type: boolean
            maxOperations:
              type: integer
            maxPayloadSize:
              type: integer
        filter:
          type: object
          properties:
            supported:
              type: boolean
            maxResults:
              type: integer
        changePassword:
          type: object
          properties:
            supported:
              type: boolean
        sort:
          type: object
          properties:
            supported:
              type: boolean
        etag:
          type: object
          properties:
            supported:
              type: boolean
        authenticationSchemes:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
              name:
                type: string
              description:
                type: string
        meta:
          $ref: '#/components/schemas/Meta'
    Meta:
      type: object
      readOnly: true
      properties:
        resourceType:
          type: string
          enum:
            - User
            - Group
        created:
          type: string
          format: date-time
        lastModified:
          type: string
          format: date-time
        version:
          type: string
          description: >
            Resource version identifier, for example W/"3". Conditional requests
            (If-Match, If-None-Match) are not supported.
        location:
          type: string
          format: uri
    Error:
      type: object
      description: RFC 7644 §3.12 error response.
      properties:
        schemas:
          type: array
          items:
            type: string
            const: urn:ietf:params:scim:api:messages:2.0:Error
        status:
          type: string
          description: HTTP status code as a string.
          example: '409'
        scimType:
          type: string
          enum:
            - invalidSyntax
            - invalidFilter
            - invalidPath
            - invalidValue
            - mutability
            - uniqueness
        detail:
          type: string
          example: A user with this userName already exists.
      required:
        - schemas
        - status
  responses:
    Unauthorized:
      description: >
        Missing or invalid API key. Rejected before the request reaches the SCIM
        service, so the body is plain JSON rather than a SCIM error.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
            example:
              message: Unauthorized
    TooManyRequests:
      description: Rate limited. Honor Retry-After and retry.
      headers:
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/scim+json:
          schema:
            $ref: '#/components/schemas/Error'
  headers:
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  securitySchemes:
    organizationApiKey:
      type: http
      scheme: bearer
      description: >
        Plerion organization API key (plerion_oak_…), created by an organization
        admin in the Plerion console. Write operations require a key with
        readWrite access level; GET and .search work with read access level.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.