Improvements for REST API version 4.3

This document describes differences between the REST APIs in version 4.2 and version 4.3.

The differences are classified as follows:

A: Additional items

M: Modified items

D: Deleted items

ClaimDefinitions


GET (/api/rest/v2/claimdefinitions)

Scope Item Description
A Paging Support paging function in order not to get all claim types at once when calling the API

POST (/api/rest/v2/claimdefinitions)

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

PUT (/api/rest/v2/claimdefinitions)

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

POST (/api/rest/v2/claimdefinitions/.search)

Scope Item Description
A Paging Support paging function in order to not get all claim types at once when calling the API
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

GET (/api/rest/v2/claimdefinitions/{claimType})

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

GET (/api/rest/v2/claimdefinitions/{id})

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

POST (/api/rest/v2/claimdefinitions/many)

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

PUT (/api/rest/v2/claimdefinitions/many)

Scope Item Description
D avoidUpsize Remove avoidUpsize parameter from Model Schema of FreeClaimDefinition.
A free claim is not supported by this parameter. This parameter is used for discrete claims for role and security purposes

 

Connections


GET (/api/rest/v2/connections)

Scope Item Description
A Paging Support paging function in order to not get all connections at once when calling the API

POST (/api/rest/v2/connections)

Scope Item Description
A Metadata Support updating a connection using encoded base64 metadata.
Because SAML 2.0 metadata is XML documents that might not only break JSON format but might also contain characters such as < or > which are identified by .NET request validators as security threats, Safewhere*Identify requires that the metadata parameter must be base64-encoded from version 4.3.

PUT (/api/rest/v2/connections)

Scope Item Description
A 2nd factor Support updating a connection that has the same type of second factor Authentication Connection as the first one
A Metadata Support updating a connection using encoded base64 metadata.
Because SAML 2.0 metadata is XML documents that might not only break JSON format but might also contain characters such as < or > which are identified by .NET request validators as security threats, Safewhere*Identify requires that the metadata parameter must be base64-encoded from version 4.3.

 

Transformations


GET (/api/rest/v2/transformations)

Scope Item Description
A Paging Support paging function in order to not get all transformations at once when calling the API

 

Users


GET (/api/rest/v2/users)

Scope Item Description
A Paging Support paging function in order to to get all users at once when calling the API

POST (/api/rest/v2/users)

Scope Item Description
A activationCodes Add validation for activationCodes.
The reason of this adding is a value of activationCodes must not be less than 6 but this validation is not implemented.
A emails.value Add validation for emails.value.
The reason of this adding is a value of emails.value must not be duplicated but this validation is not implemented.
A groups.value Add validation for groups.value.
The reason of this adding is value of groups.value must be a name of an existing group but this validation is not implemented.
M Discrete option claim value Modify content of error message when posting a user with discrete option claim value is not found. Because the content in 4.2 is inappropriate. In version 4.2,“Sorry, the claim type does not exist”
In version 4.3, “Sorry, the claim value of claim type does not exist.”
M EnterpriseUser
MappingHints
ExtendedAttributes
Modify Model Schema as below:
- Change EnterpriseUser to urn:scim:schemas:extension:enterprise:1.0.
- Change MappingHints to urn:scim:schemas:extension:mapping:hint:1.0.
- Change ExtendedAttributes to urn:scim:schemas:extension:safewhere:identify:1.0In 4.2, because Model Schema is not JSON format. So a user cannot be created with a specified organization or specified claim types

PUT (/api/rest/v2/users)

Scope Item Description
A activationCodes Add validation for activationCodes.
The reason of this adding is a value of activationCodes must not be less but 6 and this validation is not implemented.
A emails.value Add validation for emails.value.
The reason of this adding is a value of emails.value must not be duplicated but this validation is not implemented.
A groups.value Add validation for groups.value.
The reason of this adding is value of groups.value must be a name of exist group but this validation is not implemented.
M Discrete option claim value Modify content of error message when updating a user with discrete option claim value is not found. Because the content in 4.2 is inappropriate.In version 4.2, “Sorry, the claim type does not exist”
In version 4.3, “Sorry, the claim value of claim type does not exist.”
M EnterpriseUser
MappingHints
ExtendedAttributes
Modify Model Schema as below:
- Change EnterpriseUser to urn:scim:schemas:extension:enterprise:1.0.
- Change MappingHints to urn:scim:schemas:extension:mapping:hint:1.0.
- Change ExtendedAttributes to urn:scim:schemas:extension:safewhere:identify:1.0In 4.2, because Model Schema is not JSON format. So a user cannot be created with a specified organization or specified claim types

POST (/api/rest/v2/users/.search)

Scope Item Description
A Paging Support paging function in order to not get all users at once when calling the API

PATCH (/api/rest/v2/users/{userId})

Scope Item Description
A activationCodes Add validation for activationCodes.
The reason of this adding is a value of activationCodes must not be less than 6 but this validation is not implemented.
A emails.value Add validation for emails.value.
The reason of this adding is a value of emails.value must not be duplicated but this validation is not implemented.
A groups.value Add validation for groups.value.
The reason of this adding is value of groups.value must be a name of exist group but this validation is not implemented.
M Discrete option claim value Modify content of error message when adding/ updating value of discrete option claim type with discrete option claim value is not found. Because the content in 4.2 is inappropriate.In version 4.2, “Sorry, the claim type does not exist”
In version 4.3, “Sorry, the claim value of claim type does not exist.”
M EnterpriseUser
MappingHints
ExtendedAttributes
Modify Model Schema as below:
- Change EnterpriseUser to urn:scim:schemas:extension:enterprise:1.0.
- Change MappingHints to urn:scim:schemas:extension:mapping:hint:1.0.
- Change ExtendedAttributes to urn:scim:schemas:extension:safewhere:identify:1.0In 4.2, because Model Schema is not JSON format. So a user cannot be created with a specified organization or specified claim types