---
title: "Update SaveHQ profile and privacy settings"
method: POST
path: "/api/v1/actions/update_profile"
tags: ["Change the board"]
---

# Update SaveHQ profile and privacy settings

`POST /api/v1/actions/update_profile`

## Request

- Base URL: `https://savehq.app`
- URL: `https://savehq.app/api/v1/actions/update_profile`
- Auth: HTTP bearer

Change the user's display name, @handle, bio, whether new saves start private (newSavesPrivate), whether new followers need their approval (approveFollowers), and, with approval on, whether people they haven't approved yet see only their pinned saves (pinnedOnlyUntilApproved). Pass only what should change. Always needs the user's OK: the first call returns a preview and a confirmToken.

Needs the person's OK: always.

## Request body

- object
  - `displayName` string
  - `handle` string
  - `bio` string
  - `newSavesPrivate` boolean
  - `approveFollowers` boolean
  - `pinnedOnlyUntilApproved` boolean
  - `confirmToken` string: The confirmToken returned with this change's preview, once the user has agreed to it.

## Response `200`

Done (status "done", with summary and changeId), or nothing to change

- ChangeDone
  - `status` 'done' | 'no_change'
  - `summary` string
  - `changeId` string
  - `message` string

## Other responses

- `202`: Not done yet: needs the person's OK. Send the same request again with confirmToken.
- `400`: Something to fix in the request
- `401`: Missing, expired or revoked API key or token
- `429`: Over 60 requests a minute for this person; retry after 60 seconds

---

[API](https://skmtc.dev/savehq/apis/savehq-api.md) · [All operations](https://skmtc.dev/savehq/apis/savehq-api/llms.txt) · [OpenAPI document](https://skmtc.dev/savehq/apis/savehq-api/revisions/14aa80bad77d?raw)
