---
title: "Update User – Updates an existing user profile."
method: PUT
path: "/programs/{programCode}/users/{userIdentifier}"
tags: ["Users"]
---

# Update User – Updates an existing user profile.

`PUT /programs/{programCode}/users/{userIdentifier}`

Updates the user profile for the specified user identifier. Only the fields provided in the request will be updated. Returns the updated user details or validation errors.

## Path parameters

- `userIdentifier` string, required
- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- UpdateUserRequest — Represents a request to update an existing user profile in the system. Contains fields for updating user identifiers, preferences, terms acceptances, contact verification, and other user metadata. Used in the Update User API to modify user information, preferences, and compliance-related attributes. Inherits standard request metadata from Gd.Bos.DataTransfer.Request.RequestBase.
  - `peerTransferAcceptPreference` string, nullable — The user's preference for accepting peer-to-peer transfers (e.g., "AutoAccept", "ManualAccept").
  - `termsAcceptances` TermsAcceptance[], nullable — A list of terms and conditions acceptances, indicating which terms the user has agreed to and the acceptance date/time.
    - `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).
  - `contactVerificationIdentifiers` string[], nullable — A list of contact verification identifiers (GUIDs) used to verify user contact methods (e.g., email, phone).
  - `userIdCreateDate` string, nullable — The date and time when the user identifier was created, typically in ISO 8601 format.
  - `passwordChangeDate` string, nullable — The date and time when the user's password was last changed, typically in ISO 8601 format.
  - `ignoremfa` string, nullable — Indicates whether multi-factor authentication (MFA) should be ignored for this request. Used for specific scenarios.

## Response `200`

OK

- UpdateUserResponse — Represents the response for a user update operation.
  - `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)
