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

# Updates a Pet

`PATCH /pets/{id}`

Updates a Pet and persists changes to storage.

## Path parameters

- `id` integer, required

## Request body

- object
  - `name` string
  - `nicknames` string[]
  - `age` integer
  - `categories` integer[]
  - `owner` integer
  - `friends` integer[]

## Response `200`

Pet updated

- 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
    - `id` integer, required
    - `name` string, required
    - `age` integer, required
    - `pets` Pet[]
  - `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` — 1 info
  - 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` — 4 breaking, 5 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`
  - the `owner/age` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - the `owner/id` response's property type/format changed from `integer`/`int32` to `integer`/`` for status `200`
  - …5 more
- …earlier changes not shown

[Full history](https://skmtc.dev/ent/apis/my-simple-api/changes/pets/: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)
