---
title: User Agreement Consents
description: A user agreement consent resource is a record of a user consenting to a terms of service agreement for a specific language and revision. Only the latest consent record is available through a GET request, which shows only the current agreement consent state for (1) all the user's agreement consents, or (2) the current agreement consent state for one specific agreement.
component: pingone-api
page_id: pingone-api:platform:users/user-agreement-consents
canonical_url: https://developer.pingidentity.com/pingone-api/platform/users/user-agreement-consents.html
section_ids:
  agreement-consent-state-data-model: Agreement consent state data model
  user-consent-event-model: User consent event model
  response-codes: Response codes
---

# User Agreement Consents

A user agreement consent resource is a record of a user consenting to a terms of service agreement for a specific language and revision. Only the latest consent record is available through a `GET` request, which shows only the current agreement consent state for (1) all the user's agreement consents, or (2) the current agreement consent state for one specific agreement.

This service provides operations to read and update user agreement consent resources.

You need the Environment Admin role to perform operations on user consent resources.

## Agreement consent state data model

The properties described here identify the agreement consents associated with a specified user and current state of the agreement consent (represented by the `lastConsent` properties).

| Property                  | Type     | Required? | Mutable?  | Description                                                                                                                                                                                                                                                                    |
| ------------------------- | -------- | --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `agreement`               | Object   | Required  | Mutable   | Specifies the agreement resource for this agreement consent.                                                                                                                                                                                                                   |
| `agreement.id`            | String   | Required  | Mutable   | Specifies the UUID of the agreement resource for this agreement consent.                                                                                                                                                                                                       |
| `language`                | Object   | Required  | Mutable   | Specifies the language resource associated with this agreement consent.                                                                                                                                                                                                        |
| `language.id`             | String   | Required  | Mutable   | Specifies the language resource UUID associated with this agreement consent. If the `status` is `ACCEPTED`, then this is the language associated with the consent. For any other `status` value, this represents the language to which the user must consent.                  |
| `lastConsent.at`          | DateTime | N/A       | Read-only | Specifies the date and time at which the user consented to the agreement.                                                                                                                                                                                                      |
| `lastConsent.expiresAt`   | DateTime | N/A       | Read-only | Specifies the date and time at which the user consent to the agreement expires.                                                                                                                                                                                                |
| `lastConsent.language`    | Object   | N/A       | Read-only | Specifies the language resource associated with the user's last agreement consent.                                                                                                                                                                                             |
| `lastConsent.language.id` | String   | N/A       | Read-only | Specifies the language resource UUID associated with the user's last agreement consent.                                                                                                                                                                                        |
| `lastConsent.revision`    | Object   | N/A       | Read-only | Specifies the revision resource associated with the user's last agreement consent.                                                                                                                                                                                             |
| `lastConsent.revision.id` | String   | N/A       | Read-only | Specifies the revision resource UUID associated with the user's last agreement consent.                                                                                                                                                                                        |
| `revision`                | Object   | Required  | Mutable   | Specifies the revision resource associated with this agreement consent.                                                                                                                                                                                                        |
| `revision.id`             | String   | Required  | Mutable   | Specifies the revision resource UUID associated with this agreement consent.                                                                                                                                                                                                   |
| `status`                  | String   | N/A       | Read-only | Specifies whether the consent is valid or not, depending on the agreement, language, and revision configuration. Options are `PENDING`, `ACCEPTED`, `REVOKED`, `EXPIRED`, and `AGREEMENT_DISABLED`. This property value is computed dynamically when the resource is returned. |
| `user`                    | Object   | Required  | Mutable   | Specifies the user associated with this agreement consent.                                                                                                                                                                                                                     |
| `user.id`                 | String   | Required  | Mutable   | Specifies the UUID of the user associated with this agreement consent.                                                                                                                                                                                                         |

## User consent event model

The properties described here are used with the PingOne audit reporting service to search for a user's consent history for specific agreements. For more information about the audit events to use to query a user's consent history, refer to [Agreement Management](../agreement-management.html).

| Property       | Type     | Required? | Mutable?  | Description                                                                                                                                                                                                                                 |
| -------------- | -------- | --------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `consentedAt`  | DateTime | Optional  | Mutable   | Specifies the date and time at which the user consented to the agreement.                                                                                                                                                                   |
| `agreement`    | Object   | Required  | Mutable   | Specifies the agreement resource for this agreement consent.                                                                                                                                                                                |
| `agreement.id` | String   | Required  | Mutable   | Specifies the UUID of the agreement resource for this agreement consent.                                                                                                                                                                    |
| `language`     | Object   | Required  | Mutable   | Specifies the language resource associated with this agreement consent.                                                                                                                                                                     |
| `language.id`  | String   | Required  | Mutable   | Specifies the language resource UUID associated with this agreement consent.                                                                                                                                                                |
| `revision`     | Object   | Required  | Mutable   | Specifies the revision resource associated with this agreement consent.                                                                                                                                                                     |
| `revision.id`  | String   | Required  | Mutable   | Specifies the revision resource UUID associated with this agreement consent.                                                                                                                                                                |
| `status`       | String   | N/A       | Read-only | Specifies whether the consent is valid or not, depending on the agreement, language, and revision configuration. Options are `ACTIVE`, `INVALID`, and `EXPIRED`. This property value is computed dynamically when the resource is returned. |
| `user`         | Object   | Required  | Mutable   | Specifies the user associated with this agreement consent.                                                                                                                                                                                  |
| `user.id`      | String   | Required  | Mutable   | Specifies the UUID of the user associated with this agreement consent.                                                                                                                                                                      |

## Response codes

| Code | Message                                  |
| ---- | ---------------------------------------- |
| 200  | Successful operation.                    |
| 400  | The request could not be completed.      |
| 401  | You do not have access to this resource. |
| 404  | The requested resource was not found.    |
