# REST Resource: accounts.termsOfServiceAgreementStates

- [Resource: TermsOfServiceAgreementState](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#TermsOfServiceAgreementState)
  - [JSON representation](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#TermsOfServiceAgreementState.SCHEMA_REPRESENTATION)
- [Accepted](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted)
  - [JSON representation](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted.SCHEMA_REPRESENTATION)
- [Required](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required)
  - [JSON representation](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required.SCHEMA_REPRESENTATION)
- [Methods](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#METHODS_SUMMARY)

## Resource: TermsOfServiceAgreementState

This resource represents the agreement state for a given account and terms of service kind. The state is as follows:

- If the business has accepted a terms of service, `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted` will be populated, otherwise it will be empty
- If the business must sign a terms of service, `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required` will be populated, otherwise it will be empty.

Note that both `required` and `accepted` can be present. In this case the `accepted` terms of services will have an expiration date set in the `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted.FIELDS.valid_until` field. The `required` terms of services need to be accepted before `validUntil` in order for the account to continue having a valid agreement. When accepting new terms of services we expect third-party providers to display the text associated with the given terms of service agreement (the url to the file containing the text is added in the Required message below as `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required.FIELDS.tos_file_uri`). The actual acceptance of the terms of service is done by calling accept on the `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted.FIELDS.terms_of_service` resource. `validUntil` field.

| JSON representation |
|---|
| ``` { "name": string, "regionCode": string, "termsOfServiceKind": enum (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/TermsOfServiceKind`), "accepted": { object (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted`) }, "required": { object (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required`) } } ``` |

| Fields ||
|---|---|
| `name` | `string` Identifier. The resource name of the terms of service version. Format: `accounts/{account}/termsOfServiceAgreementState/{identifier}` The identifier format is: `{[TermsOfServiceKind][google.shopping.merchant.accounts.v1.TermsOfServiceKind]}-{country}` For example, an identifier could be: `MERCHANT_CENTER-EU` or `MERCHANT_CENTER-US`. |
| `regionCode` | `string` Required. Region code as defined by <https://cldr.unicode.org/>. This is the country the current state applies to. |
| `termsOfServiceKind` | ``enum (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/TermsOfServiceKind`)`` Required. Terms of Service kind associated with the particular version. |
| `accepted` | ``object (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Accepted`)`` Optional. The accepted terms of service of this kind and for the associated regionCode |
| `required` | ``object (`https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates#Required`)`` Optional. The required terms of service |

## Accepted

Describes the [accepted terms of service](https://developers.google.com/merchant/api/guides/accounts/create-and-configure#accept_the_merchant_center_terms_of_service).

| JSON representation |
|---|
| ``` { "termsOfService": string, "acceptedBy": string, "validUntil": { object (`https://developers.google.com/merchant/api/reference/rest/Shared.Types/Date`) } } ``` |

| Fields ||
|---|---|
| `termsOfService` | `string` Required. The accepted `https://developers.google.com/merchant/api/reference/rest/accounts_v1/termsOfService#TermsOfService`. |
| `acceptedBy` | `string` Required. The account where the acceptance was recorded. This can be the account itself or, in the case of subaccounts, the advanced account. |
| `validUntil` | ``object (`https://developers.google.com/merchant/api/reference/rest/Shared.Types/Date`)`` Optional. When set, it states that the accepted `TermsOfService` is only valid until the end of this date (in UTC). A new one must be accepted before then. The information of the required `TermsOfService` is found in the `Required` message. |

## Required

Describes the terms of service which are required to be accepted.

| JSON representation |
|---|
| ``` { "termsOfService": string, "tosFileUri": string } ``` |

| Fields ||
|---|---|
| `termsOfService` | `string` Required. The `TermsOfService` that need to be accepted. |
| `tosFileUri` | `string` Required. Full URL to the terms of service file. This field is the same as `TermsOfService.file_uri`, it is added here for convenience only. |

| ## Methods ||
|---|---|
| ### `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates/get` | Returns the state of a terms of service agreement. |
| ### `https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.termsOfServiceAgreementStates/retrieveForApplication` | Retrieves the state of the agreement for the application terms of service. |