SCIM Schemas

This API is used to expose metadata about SCIM schemas. The APIs fetch their configuration details from a database collection named scimConfigcollection. This configuration is categorized and stored based on a "config type". A script named scimConfig_24_2_2 is responsible for storing (persisting) the SCIM configuration into the scimConfigcollection. When a request is made to one of these SCIM APIs (e.g., from a third-party tool like Omada), the system looks up the requested configuration type in the scimConfigcollection and returns the appropriate configuration data based on the request.

This SCIM API response lists two resource types (e.g. User and Group) along with their schemas and supported attributes.

Request Structure

Endpoint: scim/v2/Schemas
Type: GET
Sample URL: https://<IP/HostName/TenantName>:<GWPORT>/avxapi/scim/v2/Schemas?gwsource=external

To understand the elements of the sample URL, click here.

Headers:
Content-Type: application/json
Table 1. Input Parameters
Name Description
sessionId

Header

(Mandatory) Use session ID retrieved from login API, if username and password are not provided.

Type: String

Example: "ce7f1a14-2bf9-4e4a-89a8-bc780a255813"

username

Header

(Mandatory) Username for authentication if sessionID is not provided.

Type: String

Example: "[email protected]"

password

Header

(Mandatory) Password for authentication if sessionID is not provided.

Type: String

Example: "4e4a89a8"

gwsource

Query

(Mandatory) Source from which the request is triggered. The values can be:
  • web
  • external

Type: String

Response Structure

  • Status Code: 200 OK
  • Message: NA
  • Headers:
    • Content-Type: application/json
Table 2. Response Parameters
Name Description
schemas Lists the SCIM schemas that apply to this response. In this case, it uses the standard SCIM ListResponse schema.

Type: Array

Example: "urn:ietf:params:scim:api:messages:2.0:ListResponse"

totalResults Total number of SCIM resource types returned.

Type: Integer

Example: "2"

Resources Contains detailed definitions for each SCIM resource type available.

Type: Array of Objects

id

Resources

Unique identifier for the schema.

Type: String

Example: "User" or "Group"

name

Resources

Display name for the resource.

Type: String

Example: "User" or "User Group"

description

Resources

Description of the resource

Type: String

Example: "User Account" or "Group"

schema

Resources

SCIM schema URI used for User or User Group – must match the id.

Type: String

Example: "urn:ietf:params:scim:schemas:core:2.0:User" OR "urn:ietf:params:scim:schemas:core:2.0:Group"

attributes

Resources

Defines all the attributes that the User or the User Group resource supports.
startIndex Indicates the starting index of the result set.

Type: Integer

Example: "2"

itemsPerPage Number of items included per page of the response.

Type: Integer

Example: "2"

Table 3. Key attributes under User
Name Description
userName Type: string, Required: true, Unique

The username used by the user to log in.

name Type: complex type

Includes sub-attributes like: formatted, familyName, givenName, middleName

Not required, but allows structured name information.

emails

Type: multiValued complex type

Includes sub-attributes like:
  • value – email address
  • type – email type (e.g., work, home)
  • primary – boolean flag indicating the primary email
Table 4. Key attributes under User Group
Name Description
displayName Represents the name of the group.

Type: String, Required: true

members Defines the users in the group.

Type: String

Includes sub-attributes like:
  • value – identifier of the user
  • display – user's display name
  • $ref – reference link to the user object, with referenceTypes set to User

Status Codes

HTTP Code appStatusCode Response Message
200 OK null NA

Sample Request/Response

Use Case

To expose metadata about SCIM schemas.

Sample Request
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/scim/v2/ResourceTypes?gwsource=external
Sample Response
{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 2,
    "Resources": [
        {
            "id": "urn:ietf:params:scim:schemas:core:2.0:User",
            "name": "User",
            "description": "User Account",
            "schema": "urn:ietf:params:scim:schemas:core:2.0:User",
            "attributes": [
                {
                    "name": "userName",
                    "type": "string",
                    "multiValued": false,
                    "required": true,
                    "caseExact": false,
                    "mutability": "readWrite",
                    "returned": "always",
                    "uniqueness": "server"
                },
                {
                    "name": "name",
                    "type": "complex",
                    "multiValued": false,
                    "required": false,
                    "mutability": "readWrite",
                    "returned": "default",
                    "subAttributes": [
                        {
                            "name": "formatted",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "familyName",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "givenName",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "middleName",
                            "type": "string",
                            "required": false
                        }
                    ]
                },
                {
                    "name": "emails",
                    "type": "complex",
                    "multiValued": true,
                    "required": false,
                    "subAttributes": [
                        {
                            "name": "value",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "type",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "primary",
                            "type": "boolean",
                            "required": false
                        }
                    ]
                }
            ]
        },
        {
            "id": "urn:ietf:params:scim:schemas:core:2.0:Group",
            "name": "Group",
            "description": "Group",
            "schema": "urn:ietf:params:scim:schemas:core:2.0:Group",
            "attributes": [
                {
                    "name": "displayName",
                    "type": "string",
                    "multiValued": false,
                    "required": true,
                    "mutability": "readWrite",
                    "returned": "always"
                },
                {
                    "name": "members",
                    "type": "complex",
                    "multiValued": true,
                    "required": false,
                    "subAttributes": [
                        {
                            "name": "value",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "display",
                            "type": "string",
                            "required": false
                        },
                        {
                            "name": "$ref",
                            "type": "reference",
                            "referenceTypes": [
                                "User"
                            ],
                            "required": false
                        }
                    ]
                }
            ]
        }
    ],
    "startIndex": 1,
    "itemsPerPage": 2
}

Reference

Understanding the sample URL:
  • IP/HostName/TenantName: Replace with the actual IP address, hostname, or tenant name based on the specific configuration in AppViewX.
    • IP: A unique identifier assigned to each device connected to a computer network that uses the Internet Protocol for communication

      The IP address will be included in the endpoint URL for an on-prem deployment.

    • HostName: A human-readable label assigned to a device (host) on a network

      The hostname will be included in the endpoint URL for an on-prem deployment.

    • TenantName: An identifier label for a tenant given to indicate which tenant's data the API request will access/modify

      The tenant name will be included in the endpoint URL for a SaaS deployment.

  • GWPORT: AppViewX gateway port

    A gateway port refers to a network port through which data is sent and received to communicate with a gateway in an on-prem deployment.

    Example: 31443

  • avxapi: Path parameter value (static) that is part of the endpoint's URL
  • Endpoint: Endpoint of the API, for example: execute-hook
  • gwsource: Source or origin of a gateway, for example: external.