!!! Overview A [SCIM Resource] is a collection of [SCIM] [Attributes] identified by one or more [SCIM Schemas]. Minimally, an [{$pagename}] consists of the attribute name and at least one simple or complex value, either of which may be multi-valued. For each [{$pagename}], a [SCIM Schema] defines the data type, plurality, mutability, and other distinguishing features of a [{$pagename}]. [{$pagename}] names are case insensitive and are often "[camel-cased|Title Case]" (e.g., "camelCase"). [SCIM Resources] are represented in JSON [RFC 7159] format and MUST specify schema via the "schemas" attribute per Section 3. Attribute names MUST conform to the following ABNF rules: %%prettify {{{ 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. When defining attribute names, it should be noted that the hyphen ("-") is __NOT__ permitted in JavaScript attribute names (or in attribute names for some other languages). While there are no known issues within HTTP protocol and JSON notation, attribute names containing hyphens may need to be escaped when declaring corresponding names of JavaScript attributes. !! [SCIM Data Types] !! [SCIM Attribute Types] !! [{$pagename}] Characteristics All [{$pagename}]s 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: * required * canonicalValues * caseExact * mutability * returned * uniqueness * referenceTypes If not otherwise stated in Section 7, [{$pagename}]s 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.!! Unassigned and [null] Values Unassigned attributes, the null value, or an empty array (in the case of a multi-valued attribute) SHALL be considered to be equivalent in "state". 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] [SCIM Resource Example] is a non-normative [example] of the [SCIM Resource] types in [JSON] format. !! More Information There might be more information for this subject on one of the following: [{ReferringPagesPlugin before='*' after='\n' }]