The System for Cross-domain Identity Management (SCIM) specification is designed to make managing user identities in cloud-based applications and services easier
Background: The standards of the SCIM 2.0 API are defined and released as RFC7642, RFC7643 and RFC7644 under IETF. Please refer - https://scim.cloud/#Specification.
Creates a user in the client's namespace.
The SCIM user information.
schemas required | Array of strings <uri> [ 1 .. 10 ] items An array of identified schemas. |
externalId | string [ 1 .. 128 ] characters ^.*$ A String that is an identifier for the resource as defined by the external or 3rd party client. The pattern is not provided because the value is defined by an external party. |
userName required | string [ 1 .. 254 ] characters ^(?![0-9]*$)[a-zA-Z0-9]{8,16}$ Unique identifier for the User, typically used by the user to directly authenticate to the service provider. Each User MUST include a non-empty userName value. This identifier MUST be unique across the service provider's entire set of Users. The pattern is not provided because the value is defined by an external party. |
object (ScimName) The components of the user's real name. | |
Array of objects (ScimEmail) [ 1 .. 10 ] items Email addresses for the user. The value SHOULD be specified according to [RFC5321]. The value SHOULD be canonicalized by the service provider, e.g., 'bjensen@example.com' instead of 'bjensen@EXAMPLE.COM'. Canonical type values of 'work', 'home', and 'other'. | |
Array of objects (ScimPhone) [ 1 .. 10 ] items Phone numbers for the User. The value SHOULD be specified according to the format defined in [RFC3966], e.g.,'tel:+1-201-555-0123'. Canonical type values of 'work', 'home', 'mobile', 'fax', 'pager', and 'other'. | |
Array of objects (ScimAddress) [ 1 .. 10 ] items Addresses for the User defined following the RFC 7643 specification. | |
Array of objects (ScimEntitlement) [ 1 .. 10000 ] items A list of entitlements for the User that represent a thing the User has. | |
object (ScimMeta) Metadata about the resource such as type, time create, etc. | |
preferredLanguage | string <ppaas_common_language_v3> (language) [ 2 .. 10 ] characters ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}|[... The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code or M49 region code. |
timezone | string <ppaas_time_zone_v3> (time_zone) [ 1 .. 127 ] characters The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is |
A successful request returns the HTTP 201 Created
status code and a JSON response body that shows the SCIM user information.
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User"
], - "userName": "sydneyml531",
- "name": {
- "givenName": "Sydney",
- "familyName": "McLaughlin"
}, - "emails": [
- {
- "value": "sydneyml@shop.com",
- "primary": true
}
]
}
{- "externalId": "string",
- "userName": "string",
- "name": {
- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}, - "active": true,
- "emails": [
- {
- "type": "work",
- "primary": true,
- "value": "string"
}
], - "phoneNumbers": [
- {
- "value": "string",
- "type": "work",
- "primary": true
}
], - "addresses": [
- {
- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
], - "entitlements": [
- {
- "value": "string"
}
], - "id": "string",
- "meta": {
- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}, - "preferredLanguage": "string",
- "timezone": "string"
}
Lists users. You can specify query parameters to filter the users that appear in the list.
A successful request returns the HTTP 200 OK
status code and a JSON response body that lists users that match the search criteria.
curl -v -X GET https://api-m.sandbox.paypal.com/v2/scim/Users?filter=userName eq "sydneyml531" \ -H 'Content-Type: application/scim+json' \ -H 'Authorization: Bearer <Access-Token>'
{- "startIndex": 1,
- "itemsPerPage": 1,
- "totalResults": 5000,
- "Resources": [
- {
- "externalId": "string",
- "userName": "string",
- "name": {
- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}, - "active": true,
- "emails": [
- {
- "type": "work",
- "primary": true,
- "value": "string"
}
], - "phoneNumbers": [
- {
- "value": "string",
- "type": "work",
- "primary": true
}
], - "addresses": [
- {
- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
], - "entitlements": [
- {
- "value": "string"
}
], - "id": "string",
- "meta": {
- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}, - "preferredLanguage": "string",
- "timezone": "string"
}
]
}
Updates the information for a user, by user ID.
The SCIM Patch request.
A successful request returns the HTTP 200 OK
response code and the entire resource within the response body.
{- "schemas": [
- "urn:ietf:params:scim:api:messages:2.0:PatchOp"
], - "Operations": [
- {
- "op": "add",
- "path": "entitlements",
- "value": [
- {
- "value": "account|AMQC5GRBUC2J6|ROLE|MASS_PAY"
}
]
}
]
}
{- "schemas": [
- "urn:ietf:params:scim:schemas:core:2.0:User"
], - "userName": "sydneyml531",
- "name": {
- "familyName": "McLaughlin",
- "givenName": "Sydney"
}, - "emails": [
- {
- "value": "sydneyml@shop.com",
- "primary": true
}
], - "entitlements": [
- {
- "value": "account|AMQC5GRBUC2J6|ROLE|GENERAL_SECONDARY_LOGIN"
}, - {
- "value": "account|AMQC5GRBUC2J6|ROLE|MASS_PAY"
}, - {
- "value": "account|AMQC5GRBUC2J6|ROLE|ADD_FUNDS"
}, - {
- "value": "account|AMQC5GRBUC2J6|ROLE|AUTH_SETTLE"
}, - {
- "value": "account|AMQC5GRBUC2J6|ROLE|CANCEL_PAYMENTS"
}, - {
- "value": "account|AMQC5GRBUC2J6|ROLE|CUSTOMIZE_REPORTS"
}
], - "id": "7XRNGHV24HQL4",
- "externalId": "sydneyml531",
- "meta": {
- "resourceType": "User",
- "created": "2022-12-29T14:05:46Z",
}
}
Shows details for a user, by ID.
A successful request returns the HTTP 200 OK
status code and a JSON response body that shows user details.
curl -v -X GET https://api-m.sandbox.paypal.com/v2/scim/Users/7XRNGHV24HQL4 \ -H 'Content-Type: application/scim+json' \ -H 'Authorization: Bearer <Access-Token>'
{- "externalId": "string",
- "userName": "string",
- "name": {
- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}, - "active": true,
- "emails": [
- {
- "type": "work",
- "primary": true,
- "value": "string"
}
], - "phoneNumbers": [
- {
- "value": "string",
- "type": "work",
- "primary": true
}
], - "addresses": [
- {
- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
], - "entitlements": [
- {
- "value": "string"
}
], - "id": "string",
- "meta": {
- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}, - "preferredLanguage": "string",
- "timezone": "string"
}
Delete the information for a user, by ID.
curl -v -X DELETE https://api-m.sandbox.paypal.com/v2/scim/Users/7XRNGHV24HQL4 \ -H 'Content-Type: application/scim+json' \ -H 'Authorization: Bearer <Access-Token>'
The PayPal payer ID, which is a publicly-sharable of the PayPal account number intended for use with third parties.
The PayPal payer ID, which is a publicly-sharable of the PayPal account number intended for use with third parties.
"stringstrings"
The 2-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGB
and notUK
as used in the top-level domain names for that country. Use theC2
country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
The 2-character ISO 3166-1 code that identifies the country or region.
Note: The country code for Great Britain isGB
and notUK
as used in the top-level domain names for that country. Use theC2
country code for China worldwide for comparable uncontrolled price (CUP) method, bank card, and cross-border transactions.
"st"
The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.
Note: The regular expression provides guidance but does not reject all invalid dates.
The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional.
Note: The regular expression provides guidance but does not reject all invalid dates.
"stringstringstringst"
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
The internationalized email address.
Note: Up to 64 characters are allowed before and 255 characters are allowed after the@
sign. However, the generally accepted maximum length for an email address is 254 characters. The pattern verifies that an unquoted@
sign exists.
"string"
The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code or M49 region code.
The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code or M49 region code.
"string"
Address for the User defined following the RFC 7643 specification.
streetAddress | string [ 1 .. 300 ] characters ^.*$ The full street address component, which may include house number, street name, P.O. box, and multi-line extended street address information. This attribute MAY contain newlines. The pattern is not provided because this property supports Unicode. | ||||||
locality | string [ 1 .. 300 ] characters ^.*$ The city or locality component. The pattern is not provided because this property supports Unicode. | ||||||
region | string [ 1 .. 300 ] characters ^.*$ The state or region component. The pattern is not provided because this property supports Unicode. | ||||||
postalCode | string [ 1 .. 60 ] characters ^.*$ The zip code or postal code component. | ||||||
type | string [ 1 .. 255 ] characters ^[A-Za-z]+$ A label indicating the attribute's function, e.g., 'work' or 'home'.
| ||||||
country required | string <ppaas_common_country_code_v2> (country_code) = 2 characters ^([A-Z]{2}|C2)$ The 2-character ISO 3166-1 code that identifies the country or region. Note: The country code for Great Britain is |
{- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
Email address for the user. The value SHOULD be specified according to [RFC5321]. The value SHOULD be canonicalized by the service provider, e.g., 'bjensen@example.com' instead of 'bjensen@EXAMPLE.COM'. Canonical type values of 'work', 'home', and 'other'.
type | string [ 1 .. 255 ] characters ^[A-Za-z]+$ A label indicating the attribute's function, e.g., 'work' or 'home'.
| ||||||||
primary | boolean A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred primary email address. The primary attribute value 'true' MUST appear no more than once. | ||||||||
value required | string <ppaas_common_email_address_v2> (email_address) [ 3 .. 254 ] characters ^.+@[^"\-].+$ The internationalized email address. Note: Up to 64 characters are allowed before and 255 characters are allowed after the |
{- "type": "work",
- "primary": true,
- "value": "string"
}
An entitlement for the User that represent a thing the User has.
value required | string [ 1 .. 300 ] characters ^[A-Za-z].+$ The value of an entitlement, SCIM server will use this attribute with information encoded into the string using a delimiter. The structure of the encoded string must be as follows: 'ResourceType|ResourceId|ROLE|RoleName' where ResourceType values can be 'ACCOUNT' or 'NODE', ResourceId values can be Node identifier - Absolute path of node for NODE ResourceType or payerId of account for ACCOUNT ResourceType, RoleName value is Role Identifier. |
{- "value": "string"
}
Error schema as defined by SCIM 2.0 .
schemas required | Array of strings <uri> [ 1 .. 10 ] items Error responses following the identified schemas. | ||||||||||||||||||||||
status required | string = 3 characters ^[1-5]{1}[0-9]{2}$ The HTTP status code (see Section 6 of [RFC7231]) expressed as a JSON string. | ||||||||||||||||||||||
scimType | string [ 2 .. 20 ] characters ^[A-Za-z]+$ A SCIM detail error keyword.
| ||||||||||||||||||||||
detail | string [ 2 .. 128 ] characters ^[A-Za-z].+$ A detailed human-readable message. |
{- "status": "str",
- "scimType": "invalidFilter",
- "detail": "string"
}
Metadata about the resource such as type, time create, etc.
resourceType | string [ 1 .. 20 ] characters ^[A-Za-z]+$ The name of the resource type of the resource: User, Group, etc.
| ||||
location | string <uri> non-empty The complete target URL. To make the related call, combine the method with this link, in URI template format. Include the | ||||
created | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional. Note: The regular expression provides guidance but does not reject all invalid dates. | ||||
lastModified | string <ppaas_date_time_v3> (date_time) [ 20 .. 64 ] characters ^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|... The date and time, in Internet date and time format. Seconds are required while fractional seconds are optional. Note: The regular expression provides guidance but does not reject all invalid dates. |
{- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}
The components of the user's real name.
familyName | string [ 1 .. 140 ] characters ^.*$ The family name of the User, or last name in most Western languages. The pattern is not provided because this property supports Unicode. |
givenName | string [ 1 .. 140 ] characters ^.*$ The given name of the User, or first name in most Western languages. The pattern is not provided because this property supports Unicode. |
middleName | string [ 1 .. 140 ] characters ^.*$ The middle name(s) of the User. The pattern is not provided because this property supports Unicode. |
honorificPrefix | string [ 1 .. 140 ] characters ^.*$ The honorific prefix(es) of the User, or title in most Western languages (e.g., 'Ms.' given the full name 'Ms. Barbara J Jensen, III'). The pattern is not provided because this property supports Unicode. |
honorificSuffix | string [ 1 .. 140 ] characters ^.*$ The honorific suffix(es) of the User, or suffix in most Western languages (e.g., 'III' given the full name 'Ms. Barbara J Jensen, III'). The pattern is not provided because this property supports Unicode. |
{- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}
Patch request schema as defined by SCIM 2.0
schemas | Array of strings <uri> [ 1 .. 10 ] items |
Array of objects [ 1 .. 100 ] items List of patch operations |
{- "Operations": [
- {
- "op": "string",
- "path": "string",
- "value": null
}
]
}
Phone number for the User. The value SHOULD be specified according to the format defined in [RFC3966], e.g.,'tel:+1-201-555-0123'. Canonical type values of 'work', 'home', 'mobile', 'fax', 'pager', and 'other'.
value required | string [ 1 .. 37 ] characters ^tel:\+([0-9\-]*)$ Phone number of the User defined in [RFC3966]. | ||||||||||||
type | string [ 1 .. 255 ] characters ^[A-Za-z]+$ A label indicating the attribute's function, e.g., 'work', 'home', 'mobile'.
| ||||||||||||
primary | boolean A Boolean value indicating the 'primary' or preferred attribute value for this attribute, e.g., the preferred primary email address. The primary attribute value 'true' MUST appear no more than once. |
{- "value": "string",
- "type": "work",
- "primary": true
}
Search results returned by SCIM service.
schemas required | Array of strings <uri> [ 1 .. 10 ] items Search responses following the identified schemas. |
startIndex | integer [ 1 .. 4999 ] The 1-based index of the first result in the current set of query results. |
itemsPerPage | integer [ 1 .. 50 ] The number of resources returned in a list response page. |
totalResults required | integer [ 0 .. 5000 ] Count of resources that matches the search filter. |
Array of objects (ScimUser) [ 1 .. 50 ] items Resources that matches the search filter. |
{- "startIndex": 1,
- "itemsPerPage": 1,
- "totalResults": 5000,
- "Resources": [
- {
- "externalId": "string",
- "userName": "string",
- "name": {
- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}, - "active": true,
- "emails": [
- {
- "type": "work",
- "primary": true,
- "value": "string"
}
], - "phoneNumbers": [
- {
- "value": "string",
- "type": "work",
- "primary": true
}
], - "addresses": [
- {
- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
], - "entitlements": [
- {
- "value": "string"
}
], - "id": "string",
- "meta": {
- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}, - "preferredLanguage": "string",
- "timezone": "string"
}
]
}
User schema as defined by SCIM 2.0 .
schemas required | Array of strings <uri> [ 1 .. 10 ] items An array of identified schemas. |
externalId | string [ 1 .. 128 ] characters ^.*$ A String that is an identifier for the resource as defined by the external or 3rd party client. The pattern is not provided because the value is defined by an external party. |
userName required | string [ 1 .. 254 ] characters ^(?![0-9]*$)[a-zA-Z0-9]{8,16}$ Unique identifier for the User, typically used by the user to directly authenticate to the service provider. Each User MUST include a non-empty userName value. This identifier MUST be unique across the service provider's entire set of Users. The pattern is not provided because the value is defined by an external party. |
object (ScimName) The components of the user's real name. | |
active | boolean A Boolean value indicating the User's administrative status. |
Array of objects (ScimEmail) [ 1 .. 10 ] items Email addresses for the user. The value SHOULD be specified according to [RFC5321]. The value SHOULD be canonicalized by the service provider, e.g., 'bjensen@example.com' instead of 'bjensen@EXAMPLE.COM'. Canonical type values of 'work', 'home', and 'other'. | |
Array of objects (ScimPhone) [ 1 .. 10 ] items Phone numbers for the User. The value SHOULD be specified according to the format defined in [RFC3966], e.g.,'tel:+1-201-555-0123'. Canonical type values of 'work', 'home', 'mobile', 'fax', 'pager', and 'other'. | |
Array of objects (ScimAddress) [ 1 .. 10 ] items Addresses for the User defined following the RFC 7643 specification. | |
Array of objects (ScimEntitlement) [ 1 .. 10000 ] items A list of entitlements for the User that represent a thing the User has. | |
id | string <ppaas_payer_id_v3> (account_id) = 13 characters ^[2-9A-HJ-NP-Z]{13}$ The PayPal payer ID, which is a publicly-sharable of the PayPal account number intended for use with third parties. |
object (ScimMeta) Metadata about the resource such as type, time create, etc. | |
preferredLanguage | string <ppaas_common_language_v3> (language) [ 2 .. 10 ] characters ^[a-z]{2}(?:-[A-Z][a-z]{3})?(?:-(?:[A-Z]{2}|[... The language tag for the language in which to localize the error-related strings, such as messages, issues, and suggested actions. The tag is made up of the ISO 639-2 language code, the optional ISO-15924 script tag, and the ISO-3166 alpha-2 country code or M49 region code. |
timezone | string <ppaas_time_zone_v3> (time_zone) [ 1 .. 127 ] characters The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is |
{- "externalId": "string",
- "userName": "string",
- "name": {
- "familyName": "string",
- "givenName": "string",
- "middleName": "string",
- "honorificPrefix": "string",
- "honorificSuffix": "string"
}, - "active": true,
- "emails": [
- {
- "type": "work",
- "primary": true,
- "value": "string"
}
], - "phoneNumbers": [
- {
- "value": "string",
- "type": "work",
- "primary": true
}
], - "addresses": [
- {
- "streetAddress": "string",
- "locality": "string",
- "region": "string",
- "postalCode": "string",
- "type": "work",
- "country": "string"
}
], - "entitlements": [
- {
- "value": "string"
}
], - "id": "string",
- "meta": {
- "resourceType": "User",
- "created": "string",
- "lastModified": "string"
}, - "preferredLanguage": "string",
- "timezone": "string"
}
The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is America/New_York
or Etc/UTC
. Do not use ambiguous, non-qualified tz database values, such as EST
or GB
. Before you include this type in your interface, consider whether it is appropriate to convey time zone information with your type. At the time of display to the user, transform this value from UTC. Typically, this type is associated with user-preference APIs.
The time zone, in Internet Assigned Numbers Authority (IANA) time zone (tz) database format. A valid value is America/New_York
or Etc/UTC
. Do not use ambiguous, non-qualified tz database values, such as EST
or GB
. Before you include this type in your interface, consider whether it is appropriate to convey time zone information with your type. At the time of display to the user, transform this value from UTC. Typically, this type is associated with user-preference APIs.
"string"