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 inside personAssignments 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.