> ## Documentation Index
> Fetch the complete documentation index at: https://developers.artport.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Shipment

export const action_0 = "update"

### Overview

This endpoint can be used to update a shipment.

Endpoint: `/api/v1/shipments/{shipment_id}`

Method: `PATCH`

<Warning>
  It is critical that you [verify the fulfillment and destination addresses](/guide/api/addresses/verify) before using them.

  Failure to verify the addresses may result in loss or delayed shipments.

  You may also be **charged** should address correction be necessary by the carrier.
</Warning>

### URL Parameters

<ResponseField name="shipment_id" type="integer" required>
  The ID of the shipment you wish to { action_0 }.
</ResponseField>

### Request

<Note>
  When creating a shipment, you can use either of the following two approaches to specify the fulfillment and destination addresses:

  * Use the `fulfillment_address_id` and `destination_address_id` fields to reference existing addresses that have already been stored on ArtPort.
  * Provide the address details directly in the `fulfillment_address` and `destination_address` fields.

  You can also combine these approaches. For example, by using a `fulfillment_address_id` and a `destination_address`, or vice versa.

  For examples of how to use these fields, see the request examples on this page.
</Note>

<ResponseField name="title" type="string" required>
  The name or a brief description of the piece. You can also use an internal reference number.

  Minimum character length: `2`

  Maximum character length: `50`
</ResponseField>

<ResponseField name="value" type="integer" required>
  The value of the artwork in USD \$.

  Always use an accurate value to make sure that any insurance claims are properly honored.

  Minimum value: `50`

  Maximum value: `10000`
</ResponseField>

<ResponseField name="length" type="integer" required>
  The length of the piece in inches.

  Minimum length: `17`

  Maximum length: `44`
</ResponseField>

<ResponseField name="height" type="integer" required>
  The height of the piece in inches.

  Minimum height: `13`

  Maximum height: `34`
</ResponseField>

<ResponseField name="depth" type="integer" required>
  The depth of the piece in inches.

  Minimum depth: `1`

  Maximum depth: `4`
</ResponseField>

<ResponseField name="service" type="integer" required>
  A [Service](/guide/enums/services) enum representing the service to be used for the shipment.
</ResponseField>

<ResponseField name="fulfillment_address_id" type="integer">
  The ID of an existing address to be used as the fulfillment address.

  <Note>This field is required if the `fulfillment_address` field is not provided.</Note>
</ResponseField>

<ResponseField name="fulfillment_address" type="array">
  An object containing the fulfillment address details.

  <Note>This field is required if the `fulfillment_address_id` field is not provided.</Note>

  <Expandable title="fulfillment_address" defaultOpen="true">
    <ResponseField name="name" type="string" required>
      For example, "John Smith" or "Acme Products".

      Minimum character length: `2`

      Maximum character length: `50`
    </ResponseField>

    <ResponseField name="email" type="string" required>
      The contact email address.

      Carriers may send one or more shipment tracking notifications to this email address.

      Minimum character length: `6`

      Maximum character length: `100`
    </ResponseField>

    <ResponseField name="phone" type="string" required>
      The contact phone number.

      This must be formatted using the [E.164 standard](/guide/concepts/formatting#phone-numbers).

      Minimum character length: `7`

      Maximum character length: `30`
    </ResponseField>

    <ResponseField name="line_1" type="string" required>
      Line 1 of the address.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="line_2" type="string">
      Line 2 of the address.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="city" type="string" required>
      The address' town or city.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="region" type="string" required>
      The address' state, province, or region.

      Minimum character length: `2`

      Maximum character length: `30`
    </ResponseField>

    <ResponseField name="post_code" type="string" required>
      The address' post code.

      Minimum character length: `2`

      Maximum character length: `16`
    </ResponseField>

    <ResponseField name="country" type="integer" required>
      A [Country](/guide/enums/countries) enum representing the address' country.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="destination_address_id" type="integer">
  The ID of an existing address to be used as the destination address.

  <Note>This field is required if the `destination_address` field is not provided.</Note>
</ResponseField>

<ResponseField name="destination_address" type="array">
  An object containing the destination address details.

  <Note>This field is required if the `destination_address_id` field is not provided.</Note>

  <Expandable title="destination_address" defaultOpen="true">
    <ResponseField name="name" type="string" required>
      For example, "John Smith" or "Acme Products".

      Minimum character length: `2`

      Maximum character length: `50`
    </ResponseField>

    <ResponseField name="email" type="string" required>
      The contact email address.

      Carriers may send one or more shipment tracking notifications to this email address.

      Minimum character length: `6`

      Maximum character length: `100`
    </ResponseField>

    <ResponseField name="phone" type="string" required>
      The contact phone number.

      This must be formatted using the [E.164 standard](/guide/concepts/formatting#phone-numbers).

      Minimum character length: `7`

      Maximum character length: `30`
    </ResponseField>

    <ResponseField name="line_1" type="string" required>
      Line 1 of the address.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="line_2" type="string">
      Line 2 of the address.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="city" type="string" required>
      The address' town or city.

      Minimum character length: `2`

      Maximum character length: `35`
    </ResponseField>

    <ResponseField name="region" type="string" required>
      The address' state, province, or region.

      Minimum character length: `2`

      Maximum character length: `30`
    </ResponseField>

    <ResponseField name="post_code" type="string" required>
      The address' post code.

      Minimum character length: `2`

      Maximum character length: `16`
    </ResponseField>

    <ResponseField name="country" type="integer" required>
      A [Country](/guide/enums/countries) enum representing the address' country.
    </ResponseField>
  </Expandable>
</ResponseField>

### Response

If the shipment is successfully updated, the API will return a `204 No Content` status code.

The response will not contain any content.

<RequestExample>
  ```json Request (with address IDs) theme={"system"}
  {
      "title": "Test Shipment",
      "value": 1000,
      "length": 17,
      "height": 13,
      "depth": 1,
      "service": 1,
      "fulfillment_address_id": 123,
      "destination_address_id": 456
  }
  ```

  ```json Request (with address details) theme={"system"}
  {
      "title": "Test Shipment",
      "value": 1000,
      "length": 17,
      "height": 13,
      "depth": 1,
      "service": 1,
      "fulfillment_address": {
          "name": "Schaefer, Nolan and Wehner",
          "email": "dave45@gmail.com",
          "phone": "+12069536978",
          "line_1": "492 Quitzon Avenue Apt. 157",
          "line_2": "Apt. 027",
          "city": "Gustside",
          "region": "Massachusetts",
          "post_code": "17594-7013",
          "country": 1
      },
      "destination_address": {
          "name": "Krajcik, Kuhn and Eichmann",
          "email": "teresa93@gmail.com",
          "phone": "+12069536978",
          "line_1": "1712 Marina Ramp Suite 512",
          "line_2": "Apt. 235",
          "city": "Port Marlon",
          "region": "Indiana",
          "post_code": "62893",
          "country": 1
      }
  }
  ```

  ```json Request (mixed) theme={"system"}
  {
      "title": "Test Shipment",
      "value": 1000,
      "length": 17,
      "height": 13,
      "depth": 1,
      "service": 1,
      "fulfillment_address": {
          "name": "Schaefer, Nolan and Wehner",
          "email": "dave45@gmail.com",
          "phone": "+12069536978",
          "line_1": "492 Quitzon Avenue Apt. 157",
          "line_2": "Apt. 027",
          "city": "Gustside",
          "region": "Massachusetts",
          "post_code": "17594-7013",
          "country": 1
      },
      "destination_address_id": 123
  }
  ```
</RequestExample>

<ResponseExample>
  ```text 204 theme={"system"}
  No Content
  ```
</ResponseExample>
