Attestation Profile Assignments - Aggregated
The Attestation Profile, which is assigned to employees in People Information, contains one or more attestation assignments.
Prerequisites
A person ID is the same identifier as personKey
and employee ID, and is not the same as a person number.
Example
In this example, we assign, verify, delete, and pass a request that makes no change to multiple people's attestation profile assignments.
Create or update assignments
The create or update request:
- uses
personIdentity
to identify the person using their person number - uses
attestationProfile
insidepersonAssignments
to define the attestation profiles to assign
Example request
Call POST /v1/commons/persons/assignments/multi_upsert
with the following request payload.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
}
]
Example response
A success response returns HTTP status code 200 and a response body similar to the following example.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1,
"qualifier": "AP1"
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2,
"qualifier": "AP2"
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1,
"qualifier": "AP1"
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2,
"qualifier": "AP2"
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
}
]
Verify assignments
You can use the bulk multi-read operation to verify assignments for multiple people at once.
Example request
To verify, call POST /v1/commons/persons/assignments/multi_read
with the following request payload.
{
"where": {
"employees": {
"key": "personNumber",
"values": [
"90107",
"20335"
]
},
"personAssignments": [
"attestationProfile"
]
}
}
Example response
A success response returns HTTP status code 200 and a response body similar to the following example.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1,
"qualifier": "AP1"
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2,
"qualifier": "AP2"
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": 1,
"qualifier": "AP1"
},
"effectiveDate": "2020-04-01",
"expirationDate": "2020-04-06"
},
{
"profile": {
"id": 2,
"qualifier": "AP2"
},
"effectiveDate": "2020-04-06",
"expirationDate": "3000-01-01"
}
]
}
}
}
]
Make no change to assignments
When working with large numbers of people, you may wish to pass a request payload that makes no changes to a person's attestation profile assignments.
In the following example, the system makes no changes. Setting an empty attestationProfileAssignments
array and passing the unAssignExisting
Boolean as false
both result in no changes to a person's assignments.
Example request
Call POST /v1/commons/persons/assignments/multi_upsert
with the following request payload.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"unAssignExisting": false
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"unAssignExisting": false,
"attestationProfileAssignments": []
}
}
}
]
Example response
A success response returns HTTP status code 200 and a response body similar to the following example.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": []
}
}
}
]
Delete assignments
You can delete, or unassign, attestation profile assignments. To delete our example's attestation profile assignments, call POST /v1/commons/persons/assignments/multi_upsert
using the unAssignExisting
property.
Example request
Call POST /v1/commons/persons/assignments/multi_upsert
with the following request payload.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"unAssignExisting": true
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"unAssignExisting": true,
"attestationProfileAssignments": []
}
}
}
]
Example response
A success response returns HTTP status code 200 and a response body similar to the following example.
[
{
"personIdentity": {
"personNumber": "90107"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": -1,
"qualifier": "Empty Profile"
},
"effectiveDate": "1900-01-01",
"expirationDate": "3000-01-01"
}
]
}
}
},
{
"personIdentity": {
"personNumber": "20335"
},
"personAssignments": {
"attestationProfile": {
"attestationProfileAssignments": [
{
"profile": {
"id": -1,
"qualifier": "Empty Profile"
},
"effectiveDate": "1900-01-01",
"expirationDate": "3000-01-01"
}
]
}
}
}
]
Note: You can verify that the assignments were deleted by calling POST /v1/commons/persons/assignments/multi_read
with a request payload specifying all of the affected person identities.
Updated over 1 year ago