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=externalTo understand the elements of the sample URL, click here. |
| Headers: | |
| Content-Type: | application/json |
| Name | Description |
|---|---|
| sessionId
|
(Mandatory) Use session ID retrieved from login
API, if username and password are not provided. Type: String Example: "ce7f1a14-2bf9-4e4a-89a8-bc780a255813" |
| username
|
(Mandatory) Username for authentication if
sessionID is not provided. Type: String Example: "[email protected]" |
| password
|
(Mandatory) Password for authentication if
sessionID is not provided. Type: String Example: "4e4a89a8" |
| gwsource
|
(Mandatory) Source from which the request is
triggered. The values can be:
Type: String |
Response Structure
- Status Code: 200 OK
- Message: NA
- Headers:
- Content-Type: application/json
| 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
|
Unique identifier for the schema. Type: String Example: "User" or "Group" |
| name
|
Display name for the resource. Type: String Example: "User" or "User Group" |
| description
|
Description of the resource Type: String Example: "User Account" or "Group" |
| schema
|
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
|
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" |
| Name | Description |
|---|---|
| userName | Type: string, Required:
true, UniqueThe username used by the user to log in. |
| name | Type:
complex type Includes sub-attributes like:
Not required, but allows structured name information. |
| emails |
Type: multiValued complex type Includes sub-attributes like:
|
| Name | Description |
|---|---|
| displayName | Represents the name of the group. Type:
|
| members | Defines the users in the group. Type: String Includes sub-attributes like:
|
Status Codes
| HTTP Code | appStatusCode | Response Message |
|---|---|---|
| 200 OK | null | NA |
Sample Request/Response
To expose metadata about SCIM schemas.
https://<IP/HostName/TenantName>:<GWPORT>/avxapi/scim/v2/ResourceTypes?gwsource=external{
"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
- 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.
- IP: A unique identifier assigned to each device connected to
a computer network that uses the Internet Protocol for communication
- 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.
