Overview#A SCIM Resource is a collection of SCIM Attributes identified by one or more SCIM Schemas.
Minimally, an SCIM Attributes consists of the attribute name and at least one simple or complex value, either of which may be multi-valued.
For each SCIM Attributes, a SCIM Schema defines the data type, plurality, mutability, and other distinguishing features of a SCIM Attributes.
SCIM Attributes names are case insensitive and are often "camel-cased" (e.g., "camelCase").
Attribute names MUST conform to the following ABNF rules:
ATTRNAME = ALPHA *(nameChar) nameChar = "$" / "-" / "_" / DIGIT / ALPHA
The above rules (and other rules in this specification) use the "Core Rules" from ABNF; see Appendix B of RFC 5234. Unless otherwise specified in this document, all ABNF strings are case insensitive and the character set for these strings is US-ASCII. For example, all attribute names defined by the above rule are case insensitive.
SCIM Attributes Characteristics#All SCIM Attributess have a set of characteristics that describe their type and handling by a SCIM Service Provider; full definitions may be found in Section 7. The characteristics include:
If not otherwise stated in Section 7, SCIM Attributess have the following characteristics:
- required is "false" (i.e., not REQUIRED),
- canonicalValues is none assigned (for example, the "type" sub-attribute as described in Section 2.4),
- caseExact is "false" (i.e., case-insensitive),
- mutability is "readWrite" (i.e., modifiable),
- returned is "default" (the attribute value is returned by default),
- uniqueness is "none" (has no uniqueness enforced), and
- type is "string" (Section 2.3.1).
Attribute Data Types#Attribute data types are derived from JSON RFC 7159.
The JSON format defines a limited set of data types; hence, where appropriate, alternate JSON representations derived from XML Schema are defined in RFC 7643 Section 2.3
SCIM extensions SHOULD NOT introduce new data types.
Assigning an attribute with the value "null" or an empty array (in the case of multi-valued attributes) has the effect of making the attribute "unassigned".
When a resource is expressed in JSON format, unassigned attributes, although they are defined in schema, MAY be omitted for compactness.SCIM Resource Example is a non-normative example of the SCIM Resource types in JSON format.