---
title: "Update Dispatch Dates"
url: "https://stage-api-docs.centraldispatch.com/apis/stage-fulfillment-api-1-0-0/versions/8637c155-7ff6-49fa-ac0a-3b4df78c9665/operations/putDispatchDates"
---

> Full API specification: https://stage-api-docs.centraldispatch.com/apis/stage-fulfillment-api-1-0-0/versions/8637c155-7ff6-49fa-ac0a-3b4df78c9665.md

# Update Dispatch Dates

`PUT` `/api/fulfillments/id/{dispatchId}/dates`

Operation ID: `putDispatchDates`

Update the pick up and/or delivery dates of an existing dispatch.

## Path parameters

- `dispatchId` (string, uuid, required) - The ID of the dispatch.

## Header parameters

- `If-Match` (integer, required) - This is a required field to ensure the update is being completed on an item that has not changed since it was last read. The value of this field will be the value of the `ETag` header that was received on the preceding get call.
- `Content-Type` (string, required) - The major version of the API to make a request against. This is a custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to request a resource from version 1.x.x of an API, the Content-Type header should be set to `application/vnd.coxauto.v1+json`.

## Request body

Content types: `application/json`

## Responses

- `202` - Accepted. Successful request.
- `400` - Bad Request. Check the request payload. **Scenarios:** - Missing `If-Match` header
- `401` - Unauthorized. Authentication failed or missing.
- `403` - Forbidden. The attempted action is not permitted.
- `404` - Not Found.
- `409` - Conflict. Update not allowed based on the current resource state. **Scenarios:** - Actual dates cannot be updated due to dispatch status.
- `412` - Precondition Failed **Scenarios:** - RecordVersion (`If-Match` header) does not match.
- `422` - Unprocessable Entity. Errors found in the request.
- `429` - Too Many Requests. Rate limit exceeded.
- `500` - Error.
- `503` - Service Unavailable. Temporary service interruption.

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Fulfillment API
  version: 1.0.0
servers:
  - url: https://fulfillment-api.centraldispatch.com
    description: Production server
paths:
  /api/fulfillments/id/{dispatchId}/dates:
    put:
      tags:
        - Dispatch
      summary: Update Dispatch Dates
      description: Update the pick up and/or delivery dates of an existing dispatch.
      operationId: putDispatchDates
      parameters:
        - name: dispatchId
          in: path
          description: The ID of the dispatch.
          required: true
          schema:
            type: string
            format: uuid
          example: d159acc0-e89b-12d3-a456-426614174000
        - name: If-Match
          in: header
          description: This is a required field to ensure the update is being completed on
            an item that has not changed since it was last read. The value of
            this field will be the value of the `ETag` header that was received
            on the preceding get call.
          required: true
          schema:
            type: integer
          example: 8675309
        - name: Content-Type
          in: header
          description: The major version of the API to make a request against. This is a
            custom MIME type that contains `vnd.coxauto.v[#]+`. For example, to
            request a resource from version 1.x.x of an API, the Content-Type
            header should be set to `application/vnd.coxauto.v1+json`.
          required: true
          schema:
            type: string
          example: application/vnd.coxauto.v1+json
      requestBody:
        description: "`UpdateDispatchDatesRequest`"
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/UpdateDispatchDatesRequest"
            examples:
              ex.:
                value:
                  dispatchId: d159acc0-e89b-12d3-a456-426614174000
                  etag: 1234567
                  dispatchVehicles:
                    - dispatchVehicleId: b331c130-e89b-12d3-a456-426614174000
                      dateChanges:
                        - dateType: ESTIMATED_PICKUP
                          dateValue: 2025-11-05T00:00:00.000Z
                          dateChangeReasonId: da1e0000-e89b-12d3-a456-426614174000
                          notes: Weather delay.
      responses:
        "202":
          description: Accepted. Successful request.
        "400":
          description: |-
            Bad Request. Check the request payload.

            **Scenarios:**

             - Missing `If-Match` header
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "401":
          description: Unauthorized. Authentication failed or missing.
        "403":
          description: Forbidden. The attempted action is not permitted.
        "404":
          description: Not Found.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "409":
          description: |-
            Conflict. Update not allowed based on the current resource state.

            **Scenarios:**

             - Actual dates cannot be updated due to dispatch status.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "412":
          description: |-
            Precondition Failed

            **Scenarios:**

             - RecordVersion (`If-Match` header) does not match.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "422":
          description: Unprocessable Entity. Errors found in the request.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "429":
          description: Too Many Requests. Rate limit exceeded.
        "500":
          description: Error.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ErrorsAlt"
        "503":
          description: Service Unavailable. Temporary service interruption.
      security:
        - Bearer: []
security:
  - Bearer: []
components:
  schemas:
    UpdateDispatchDatesRequest:
      type: object
      properties:
        dispatchId:
          type: string
          description: The ID of the dispatch.
          format: uuid
          example: d159acc0-e89b-12d3-a456-426614174000
        dispatchVehicles:
          type: array
          items:
            $ref: "#/components/schemas/UpdateDispatchDatesVehiclesRequest"
          description: A collection of dispatch vehicles to update.
      description: Details of dispatch vehicle date item.
      nullable: true
    ErrorsAlt:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: "#/components/schemas/ErrorAlt"
          description: A collection of errors.
          nullable: true
      description: An error occurred, and the request could not be completed.
    UpdateDispatchDatesVehiclesRequest:
      type: object
      properties:
        dispatchVehicleId:
          type: string
          description: The ID of the vehicle.
          format: uuid
          example: b331c130-e89b-12d3-a456-426614174000
        dateChanges:
          type: array
          items:
            $ref: "#/components/schemas/UpdateDispatchDatesVehicleDateChangeRequest"
          description: A collection of date change records.
      description: Details of dispatch vehicle dates.
    ErrorAlt:
      type: object
      properties:
        errorID:
          type: string
          description: The ID of the error.
          nullable: true
          example: 157a16f0-503d-4256-ba60-a4876e8eb9bb
        code:
          type: string
          description: The code used for the issue.
          nullable: true
          example: resource.issue_type
        description:
          type: string
          description: A detailed message.
          nullable: true
          example: The issue happened because something is wrong.
        properties:
          type: array
          items:
            $ref: "#/components/schemas/ErrorAltProperty"
          description: Properties related to the issue.
          nullable: true
      description: Details of an error or issue.
    UpdateDispatchDatesVehicleDateChangeRequest:
      type: object
      properties:
        dateType:
          enum:
            - ESTIMATED_PICKUP
            - ACTUAL_PICKUP
            - ESTIMATED_DROPOFF
            - ACTUAL_DROPOFF
            - SHIPPER_REQUESTED_PICKUP
            - SHIPPER_REQUESTED_DROPOFF
            - CARRIER_ESTIMATED_PICKUP
            - CARRIER_ESTIMATED_DROPOFF
          type: string
          description: The type of date. This list is not exhaustive and additional values
            may be added at any time.
          example: ESTIMATED_PICKUP
        dateValue:
          type: string
          description: The date, in UTC/ISO 8601 format.
          format: date-time
        dateChangeReasonId:
          type: string
          description: The ID of the date change reason. This value can be retrieved using
            the 'Get Date Change Reasons' endpoint. Required for carrier.
          format: uuid
        notes:
          type: string
          description: Additional information.
          nullable: true
          example: Shipper needs more time to prepare the vehicle.
      description: Details of vehicle dates.
    ErrorAltProperty:
      type: object
      properties:
        property:
          type: string
          description: The name of the property.
          nullable: true
          example: person
        value:
          type: string
          description: The value of the property.
          nullable: true
          example: J0hn D03
      description: Details of an error's property.
  securitySchemes:
    Bearer:
      type: http
      scheme: Bearer
```
