---
title: "Update X profile"
method: PATCH
path: "/x/profile"
tags: ["X Write"]
---

# Update X profile

`PATCH /x/profile`

## Request body

- object
  - `account` string, required — X account (@username or ID) to update profile
  - `name` string — Display name
  - `description` string — Bio description
  - `location` string
  - `url` string — Website URL

## Response `200`

Success

- object
  - `success` true, required

## Other responses

- `400` — Invalid input
- `401` — Unauthenticated
- `402` — Payment required. Returns a WWW-Authenticate header with an MPP challenge for pay-per-use endpoints, or indicates a subscription/credit issue for identity-authenticated endpoints.
- `403` — Account needs reauth or is restricted
- `422` — X rejected the write. Possible codes: `x_content_too_long`, `x_duplicate_action`, `x_account_suspended`, `x_account_protected`, `x_target_not_found`, `x_account_feature_required`, `x_rejected`.
- `429` — X throttled the write. Possible codes: `x_rate_limited` (short-term throttle) or `x_daily_limit` (daily cap hit). Back off and retry later. Distinct from Xquik tier-based 429.
- `500` — Write operation failed. Possible error codes include x_write_failed, x_write_ambiguous, x_duplicate_action, x_daily_limit (429 - account reached daily posting limit, wait 24 hours), and x_write_unconfirmed (202 - action may have completed but could not be confirmed, verify before retrying).
- `503` — A transient upstream issue occurred. Safe to retry with exponential backoff. Returns `{ "error": "x_transient_error" }`.

## Changes

- **2026-04-25** `2adc33156b4b` — 8 warning, 14 info
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `400`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `401`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `402`
  - added the new `insufficient_credits` enum value to the `error` response property for the response status `500`
  - …18 more

[Change history](https://skmtc.dev/xquik-dev/apis/xquik-api/changes/x/profile/patch.md)

---

[API](https://skmtc.dev/xquik-dev/apis/xquik-api.md) · [All operations](https://skmtc.dev/xquik-dev/apis/xquik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xquik-dev/xquik-api/revisions/2adc33156b4b/schema)
