---
title: "Update Account Terms Acceptances"
method: PUT
path: "/programs/{programCode}/accounts/{accountIdentifier}"
tags: ["Account"]
---

# Update Account Terms Acceptances

`PUT /programs/{programCode}/accounts/{accountIdentifier}`

This endpoint can be used to assign account identifiers to customer accounts or to opt in or out of any terms or agreements that were agreed to or declined during enrollment

## Path parameters

- `programCode` string, required
- `accountIdentifier` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- UpdateTermsAcceptancesEncryptedRequest — Represents a request to update terms acceptances using encrypted email data. Inherits all properties from Gd.Bos.DataTransfer.Request.UpdateTermsAcceptancesRequest.
  - `encryptedEmail` EncryptedData — Represents a container for encrypted data used in secure data transfer operations. Contains the encrypted payload and associated cryptographic metadata, including encryption version, ephemeral public key, and public key hash. Used to securely transmit sensitive information such as user data, ensuring confidentiality and integrity during transport.
    - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
    - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
    - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
    - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.
  - `termsAcceptances` TermsAcceptance[], nullable — The list of terms acceptances to be updated for the account. Each item represents a specific terms and conditions acceptance record.
    - `termsIdentifier` string, nullable — The unique identifier for the terms and conditions that were presented to the user.
    - `termsAcceptanceDateTime` string, nullable — The date and time when the user accepted the terms, typically in ISO 8601 format (e.g., "2023-07-01T12:34:56Z").
    - `termsAcceptanceFlag` boolean, nullable — Indicates whether the user accepted the terms (true) or declined (false).
  - `partnerAccountIdentifier` string, nullable — Optional. The partner's account identifier, if applicable. Used for cross-referencing with partner systems.

## Response `200`

OK

- UpdateTermsAcceptancesResponse — Represents the response for an update to terms acceptances.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
