---
title: "Updates a User"
method: PATCH
path: "/users/{id}"
tags: ["User"]
---

# Updates a User

`PATCH /users/{id}`

Updates a User and persists changes to storage.

## Path parameters

- `id` integer, required

## Request body

- object
  - `name` string
  - `age` integer
  - `pets` integer[]

## Response `200`

User updated

- User
  - `id` integer, required
  - `name` string, required
  - `age` integer, required
  - `pets` Pet[]
    - `id` integer, required
    - `name` string, required
    - `nicknames` string[]
    - `age` integer
    - `categories` Category[]
      - `id` integer, required
      - `name` string, required
      - `readonly` string, required
      - `pets` Pet[]
    - `owner` User — recursive
    - `friends` Pet[]

## Other responses

- `400` — invalid input, data invalid
- `404` — resource not found
- `409` — conflicting resources
- `500` — unexpected error

## Changes

- **2022-01-03** `518e00702622` — 1 info
  - added the non-success response with the status `409`
- **2022-01-03** `88468a37d34b` — 2 info
  - the request property `age` became optional
  - the request property `name` became optional
- **2022-01-03** `d1d141e66c09` — 3 breaking, 6 info
  - the `code` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `400`
  - the `code` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `404`
  - the `code` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `500`
  - the response property `code` became required for the status `400`
  - …5 more
- **2021-12-21** `41f59b033280` — 2 breaking, 3 info
  - the `age` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - the `id` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - for the `path` request parameter `id`, the type/format was generalized from `integer`/`int32` to `integer`/``
  - the `age` request property type/format was generalized from `integer`/`int32` to `integer`/``
  - …1 more
- …earlier changes not shown

[Full history](https://skmtc.dev/ent/apis/my-simple-api/changes/users/:id/patch.md)

---

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