---
title: "Update Profile"
method: POST
path: "/user/update_profile"
tags: ["Write Actions"]
---

# Update Profile

`POST /user/update_profile`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/user/update_profile`
- Auth: HTTP bearer

Update the profile of the account behind your registered session. Send only the fields you want to change: this is a genuine PARTIAL update, and anything you omit is left exactly as it was rather than being blanked. At least one of name, description, location or url is required. Billed at $0.0016 per call. Cost: $0.0016 per call.

## Request body

- object
  - `name` string: New display name, up to 50 characters. Omit to leave it unchanged.
  - `description` string: New bio. Send an EMPTY STRING to clear it; omitting the field entirely leaves it alone. Those are two different things.
  - `location` string: New location text. Same rule: an empty string clears it, omitting the field leaves it alone.
  - `url` string: New profile link.

## Response `200`

Change your own display name, bio, location or link. A PARTIAL update.

- object
  - `ok` boolean: True when X accepted the update.
  - `updated_fields` string[]: The field names you sent on this call, echoed back. It reports what was SUBMITTED, not a diff against your previous profile, so a field you set to the value it already had still appears here.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

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