---
title: "Set an order shipping address (synchronous)"
method: PATCH
path: "/api/v1/orders/{id}/addresses"
tags: ["orders"]
---

# Set an order shipping address (synchronous)

`PATCH /api/v1/orders/{id}/addresses`

Sets the shipping (SHIPPING) address of an existing order — edits it when present, or creates it when the order was created without one (e.g. store pickup). accountCode comes from the JWT; a reason is required and recorded in the narrative log.

## Path parameters

- `id` string, uuid, required

## Request body

- OrderAddressesUpdate
  - `reason` string, required
  - `shipping_address` OrderAddressUpdate, required
    - `zip_code` string, required
    - `street` string, required
    - `number` string, required
    - `complement` string, nullable
    - `district` string, required
    - `city` string, required
    - `state` string, required
    - `country` string, required

## Response `200`

Order shipping address set.

- OrderAddressesUpdateResponse
  - `id` string, required
  - `updated_at` string, required
  - `shipping_address` object, required
    - `id` string, required
    - `type` string, required
    - `zip_code` string, required
    - `street` string, required
    - `number` string, required
    - `complement` string, nullable, required
    - `district` string, required
    - `city` string, required
    - `state` string, required
    - `country` string, required
    - `updated_at` string, required

## Other responses

- `400` — Invalid payload: missing reason, malformed shipping address, or id is not a UUID.
- `401` — Authentication is missing, malformed, expired, or refers to a session that is no longer active.
- `403` — The caller is authenticated but lacks the required permission for this action.
- `404` — Order not found in the caller account.
- `422` — The shipping address fields are invalid.
- `500` — Unexpected server error. The response body never leaks internal details.

## Changes

- **2026-07-07** `a3b4750a505f` — 2 breaking, 3 info
  - added the new required request property `reason`
  - added the new required request property `shipping_address`
  - added the required property `id` to the response with the `200` status
  - added the required property `shipping_address` to the response with the `200` status
  - …1 more
- **2026-07-07** `84194c31ab85` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/kruzer-corp/apis/oms-api/changes/api/v1/orders/:id/addresses/patch.md)

---

[API](https://skmtc.dev/kruzer-corp/apis/oms-api.md) · [All operations](https://skmtc.dev/kruzer-corp/apis/oms-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kruzer-corp/oms-api/revisions/38ef6e16a7a8/schema)
