Service metadata


Service metadata

The Ping Identity Data Governance Server provides three service metadata endpoints, ServiceProviderConfig, Schemas, and ResourceTypes, which clients may use to discover information about the service’s capabilities, configuration, schemas, and resource types.

Clients do not necessarily need to rely on the service metadata endpoints. Clients may be developed based on an out-of-band understanding of the service configuration and data.

Retrieve SCIM service provider configuration

GET /scim/v2/ServiceProviderConfig

This endpoint provides metadata indicating the Data Governance Server’s authentication scheme (always OAuth 2.0) and its support for optional or configurable SCIM features. ServiceProviderConfig objects are defined by RFC 7643, section 5.

The following shows a sample response:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:ServiceProviderConfig"
    ],
    "patch": {
        "supported": true
    },
    "bulk": {
        "supported": false,
        "maxOperations": 0,
        "maxPayloadSize": 0
    },
    "filter": {
        "supported": true,
        "maxResults": 500
    },
    "changePassword": {
        "supported": true
    },
    "sort": {
        "supported": false
    },
    "etag": {
        "supported": false
    },
    "authenticationSchemes": [
        {
            "name": "OAuth 2.0 Bearer Token",
            "description": "The OAuth 2.0 Bearer Token Authentication scheme. OAuth enables clients to access protected resources by obtaining an access token, which is defined in RFC 6750 as \"a string representing an access authorization issued to the client\", rather than using the resource owner's credentials directly.",
            "specUri": "http://tools.ietf.org/html/rfc6750",
            "type": "oauthbearertoken",
            "primary": true
        }
    ],
    "meta": {
        "resourceType": "ServiceProviderConfig",
        "location": "https://example.com/scim/v2/ServiceProviderConfig"
    }
}

Retrieve SCIM schemas

GET /scim/v2/Schemas

This endpoints lists the SCIM schemas configured for use on this Data Governance Server, which define the various attributes available to resource types. This endpoint does not provide schema information about SCIM sub-resources.

The response is formatted as a list response, with one or more schema objects in the Resources field. Schema objects are defined by RFC 7643, section 7.

The following is a sample response:

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 2,
    "Resources": [
      {
          "schemas": [
              "urn:ietf:params:scim:schemas:core:2.0:Schema"
          ],
          "id": "urn:pingidentity:schemas:User:1.0",
          "name": "User",
          "attributes": [
              {
                  "name": "accountVerified",
                  "type": "boolean",
                  "multiValued": false,
                  "required": false,
                  "caseExact": false,
                  "mutability": "readWrite",
                  "returned": "default",
                  "uniqueness": "none"
              },
              {
                  "name": "addresses",
                  "type": "complex",
                  "subAttributes": [
                      {
                          "name": "country",
                          "type": "string",
                          "multiValued": false,
                          "required": false,
                          "caseExact": false,
                          "mutability": "readWrite",
                          "returned": "default",
                          "uniqueness": "none"
                      } ...

Retrieve a specific SCIM schema

GET /scim/v2/Schemas/{id}

This endpoint retrieves a specific SCIM schema, specified by its ID, which is always a URN. Schema objects are defined by RFC 7643, section 7. This endpoint does not provide schema information about SCIM sub-resources.

The following is a sample response:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Schema"
    ],
    "id": "urn:pingidentity:schemas:User:1.0",
    "name": "User",
    "attributes": [
        {
            "name": "accountVerified",
            "type": "boolean",
            "multiValued": false,
            "required": false,
            "caseExact": false,
            "mutability": "readWrite",
            "returned": "default",
            "uniqueness": "none"
        },
        {
            "name": "addresses",
            "type": "complex",
            "subAttributes": [
                {
                    "name": "country",
                    "type": "string",
                    "multiValued": false,
                    "required": false,
                    "caseExact": false,
                    "mutability": "readWrite",
                    "returned": "default",
                    "uniqueness": "none"
                }...

Retrieve SCIM resource types

GET /scim/v2/ResourceTypes

This endpoint lists all of the SCIM resource types configured for use on this Data Governance Server. Clients may use this information to determine the endpoint, core schema, and extension schemas of any resource types supported by the server. This endpoint does not provide resource type information about SCIM sub-resources.

The response is formatted as a list response, with one or more resource type objects in the Resources field. Resource type objects are defined by RFC 7643, section 6.

The following is a sample response:

{
    "schemas": [
        "urn:ietf:params:scim:api:messages:2.0:ListResponse"
    ],
    "totalResults": 1,
    "Resources": [
        {
            "schemas": [
                "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
            ],
            "id": "Users",
            "name": "Users",
            "endpoint": "Users",
            "schema": "urn:pingidentity:schemas:User:1.0",
            "schemaExtensions": [
                {
                    "schema": "urn:pingidentity:schemas:sample:profile:1.0",
                    "required": false
                }
            ],
            "meta": {
                "resourceType": "ResourceType",
                "location": "https://example.com/scim/v2/ResourceTypes/Users"
            }
        }
    ]
}

Retrieve a specific SCIM resource type

GET /scim/v2/ResourceTypes/{id}

This endpoint retrieves a specific SCIM resource type, specified by its ID. Resource type objects are defined by RFC 7643, section 6. This endpoint does not provide resource type information about SCIM sub-resources.

The following is a sample response:

{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:ResourceType"
    ],
    "id": "Users",
    "name": "Users",
    "endpoint": "Users",
    "schema": "urn:pingidentity:schemas:User:1.0",
    "schemaExtensions": [
        {
            "schema": "urn:pingidentity:schemas:sample:profile:1.0",
            "required": false
        }
    ],
    "meta": {
        "resourceType": "ResourceType",
        "location": "https://example.com/scim/v2/ResourceTypes/Users"
    }
}