{
    "schemas": [
        "urn:ietf:params:scim:schemas:core:2.0:Schema"
    ],
    "id": "urn:ietf:params:scim:schemas:core:2.0:Schema",
    "meta": {
        "resourceType": "Schema",
        "created": "2001-01-01T00:00:00+00:00",
        "lastModified": "2001-01-01T00:00:00+00:00",
        "version": "W/\"9F2C753BE314F95593B8B16669E0191653049038\"",
        "location": "http://localhost/v2/schemas/urn:ietf:params:scim:schemas:core:2.0:Schema"
    },
    "name": "Schema",
    "description": "Specifies the schema that describes a SCIM schema.",
    "attributes": [
        {
            "name": "name",
            "description": "The schema's human-readable name. When applicable, service providers MUST specify the name, e.g., 'User'.",
            "type": "string",
            "mutability": "readOnly",
            "returned": "default",
            "uniqueness": "none",
            "required": false,
            "multiValued": false,
            "caseExact": false
        },
        {
            "name": "description",
            "description": "The schema's human-readable description. When applicable, service providers MUST specify the description.",
            "type": "string",
            "mutability": "readOnly",
            "returned": "default",
            "uniqueness": "none",
            "required": false,
            "multiValued": false,
            "caseExact": false
        },
        {
            "name": "attributes",
            "description": "A complex attribute that includes the attributes of a schema.",
            "type": "complex",
            "mutability": "readOnly",
            "returned": "default",
            "uniqueness": "none",
            "required": true,
            "multiValued": true,
            "caseExact": false,
            "subAttributes": [
                {
                    "name": "name",
                    "description": "The attribute's name.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": true,
                    "multiValued": false,
                    "caseExact": true
                },
                {
                    "name": "type",
                    "description": "The attribute's data type. Valid values include 'string', 'complex', 'boolean', 'decimal', 'integer', 'dateTime', 'reference', 'binary'.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": true,
                    "multiValued": false,
                    "caseExact": false,
                    "canonicalValues": [
                        "string",
                        "complex",
                        "boolean",
                        "decimal",
                        "integer",
                        "dateTime",
                        "reference",
                        "binary"
                    ]
                },
                {
                    "name": "description",
                    "description": "A human-readable description of the attribute.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": false,
                    "caseExact": false
                },
                {
                    "name": "multiValued",
                    "description": "A Boolean value indicating an attribute's plurality.",
                    "type": "boolean",
                    "mutability": "readOnly",
                    "returned": "default",
                    "required": true,
                    "multiValued": false,
                    "caseExact": false
                },
                {
                    "name": "required",
                    "description": "A Boolean value indicating whether or not the attribute is required.",
                    "type": "boolean",
                    "mutability": "readOnly",
                    "returned": "default",
                    "required": true,
                    "multiValued": false,
                    "caseExact": false
                },
                {
                    "name": "canonicalValues",
                    "description": "A collection of canonical values. When applicable, service providers MUST specify the canonical types, e.g., 'work', 'home'.",
                    "type": "complex",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": true,
                    "caseExact": false
                },
                {
                    "name": "caseExact",
                    "description": "A Boolean value indicating whether or not a string attribute is case sensitive.",
                    "type": "boolean",
                    "mutability": "readOnly",
                    "returned": "default",
                    "required": false,
                    "multiValued": false,
                    "caseExact": false
                },
                {
                    "name": "mutability",
                    "description": "Indicates whether or not an attribute is modifiable.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": false,
                    "caseExact": false,
                    "canonicalValues": [
                        "readOnly",
                        "readWrite",
                        "immutable",
                        "writeOnly"
                    ]
                },
                {
                    "name": "returned",
                    "description": "Indicates when an attribute is returned in a response (e.g., to a query).",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": false,
                    "caseExact": false,
                    "canonicalValues": [
                        "always",
                        "never",
                        "default",
                        "request"
                    ]
                },
                {
                    "name": "uniqueness",
                    "description": "Indicates how unique a value must be.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": false,
                    "caseExact": false,
                    "canonicalValues": [
                        "none",
                        "server",
                        "global"
                    ]
                },
                {
                    "name": "referenceTypes",
                    "description": "Used only with an attribute of type 'reference'. Specifies a SCIM resourceType that a reference attribute MAY refer to, e.g., 'User'.",
                    "type": "string",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": true,
                    "caseExact": false,
                    "canonicalValues": [
                        "scim",
                        "external",
                        "uri",
                        "User",
                        "Group"
                    ]
                },
                {
                    "name": "subAttributes",
                    "description": "Used to define the sub-attributes of a complex attribute.",
                    "type": "complex",
                    "mutability": "readOnly",
                    "returned": "default",
                    "uniqueness": "none",
                    "required": false,
                    "multiValued": true,
                    "caseExact": false,
                    "subAttributes": [
                        {
                            "name": "name",
                            "description": "The attribute's name.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": true,
                            "multiValued": false,
                            "caseExact": true
                        },
                        {
                            "name": "type",
                            "description": "The attribute's data type. Valid values include 'string', 'complex', 'boolean', 'decimal', 'integer', 'dateTime', 'reference', 'binary'.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": true,
                            "multiValued": false,
                            "caseExact": false,
                            "canonicalValues": [
                                "string",
                                "complex",
                                "boolean",
                                "decimal",
                                "integer",
                                "dateTime",
                                "reference",
                                "binary"
                            ]
                        },
                        {
                            "name": "description",
                            "description": "A human-readable description of the attribute.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": false,
                            "caseExact": false
                        },
                        {
                            "name": "multiValued",
                            "description": "A Boolean value indicating an attribute's plurality.",
                            "type": "boolean",
                            "mutability": "readOnly",
                            "returned": "default",
                            "required": true,
                            "multiValued": false,
                            "caseExact": false
                        },
                        {
                            "name": "required",
                            "description": "A Boolean value indicating whether or not the attribute is required.",
                            "type": "boolean",
                            "mutability": "readOnly",
                            "returned": "default",
                            "required": true,
                            "multiValued": false,
                            "caseExact": false
                        },
                        {
                            "name": "canonicalValues",
                            "description": "A collection of canonical values. When applicable, service providers MUST specify the canonical types, e.g., 'work', 'home'.",
                            "type": "complex",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": true,
                            "caseExact": false
                        },
                        {
                            "name": "caseExact",
                            "description": "A Boolean value indicating whether or not a string attribute is case sensitive.",
                            "type": "boolean",
                            "mutability": "readOnly",
                            "returned": "default",
                            "required": false,
                            "multiValued": false,
                            "caseExact": false
                        },
                        {
                            "name": "mutability",
                            "description": "Indicates whether or not an attribute is modifiable.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": false,
                            "caseExact": false,
                            "canonicalValues": [
                                "readOnly",
                                "readWrite",
                                "immutable",
                                "writeOnly"
                            ]
                        },
                        {
                            "name": "returned",
                            "description": "Indicates when an attribute is returned in a response (e.g., to a query).",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": false,
                            "caseExact": false,
                            "canonicalValues": [
                                "always",
                                "never",
                                "default",
                                "request"
                            ]
                        },
                        {
                            "name": "uniqueness",
                            "description": "Indicates how unique a value must be.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": false,
                            "caseExact": false,
                            "canonicalValues": [
                                "none",
                                "server",
                                "global"
                            ]
                        },
                        {
                            "name": "referenceTypes",
                            "description": "Used only with an attribute of type 'reference'. Specifies a SCIM resourceType that a reference attribute MAY refer to, e.g., 'User'.",
                            "type": "string",
                            "mutability": "readOnly",
                            "returned": "default",
                            "uniqueness": "none",
                            "required": false,
                            "multiValued": true,
                            "caseExact": false,
                            "canonicalValues": [
                                "scim",
                                "external",
                                "uri",
                                "User",
                                "Group"
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
