---
title: "Changes to Schedule a pickup"
method: POST
path: "/v1/pickups"
---

# Changes to Schedule a pickup

`POST /v1/pickups`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 4 of 24 revisions.

- **2026-10-22** `e998dffc42be`: 12 warning
- **2026-10-09** `020f57d6f5b8`: 18 breaking, 5 warning, 43 info
- **2026-09-06** `3fdd35fbad5c`: 4 warning
- **2026-08-15** `f3a66d204565`: 24 warning

## Changes

- **2026-10-22** `e998dffc42be`: 12 warning
  - added the new `bring_your_own_label_not_supported` enum value to the `allOf[subschema #2: error_response_body]/errors/items/error_code` response property for the response status `200`
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `400`
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `bring_your_own_label_not_supported` enum value to the `errors/items/error_code` response property for the response status `500`
  - added the new `multiple_sales_orders` enum value to the `allOf[subschema #2: error_response_body]/errors/items/error_code` response property for the response status `200`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `400`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `multiple_sales_orders` enum value to the `errors/items/error_code` response property for the response status `500`
  - added the new `sales_order_link_required` enum value to the `allOf[subschema #2: error_response_body]/errors/items/error_code` response property for the response status `200`
  - added the new `sales_order_link_required` enum value to the `errors/items/error_code` response property for the response status `400`
  - added the new `sales_order_link_required` enum value to the `errors/items/error_code` response property for the response status `404`
  - added the new `sales_order_link_required` enum value to the `errors/items/error_code` response property for the response status `500`
- **2026-10-09** `020f57d6f5b8`: 18 breaking, 5 warning, 43 info
  - the `allOf[subschema #1: pickup]/contact_details/email` request property's minLength was increased from `0` to `1`
  - the `allOf[subschema #1: pickup]/pickup_address/allOf[subschema #1: address]/allOf[subschema #1: partial_address]/postal_code` request property's minLength was increased from `0` to `1`
  - added the pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]\d{2}:\d{2})$` to the request property `allOf[subschema #1: pickup]/pickup_window/end_at`
  - added the pattern `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[-+]\d{2}:\d{2})$` to the request property `allOf[subschema #1: pickup]/pickup_window/start_at`
  - the `allOf[subschema #1: pickup]/contact_details/email` request property type changed from no type to `string`, and format from no format to `email`
  - the `allOf[subschema #1: pickup]/pickup_address/allOf[subschema #1: address]/allOf[subschema #1: partial_address]/postal_code` request property type changed from no type to `string`
  - the `allOf[subschema #1: pickup]/pickup_window/end_at` request property type changed from no type to `string`, and format from no format to `date-time`
  - the `allOf[subschema #1: pickup]/pickup_window/start_at` request property type changed from no type to `string`, and format from no format to `date-time`
  - the `allOf[subschema #1: pickup]/pickup_windows/items/` request property type changed from no type to `object`
  - the `allOf[subschema #1: pickup]/contact_details/email` response's property type changed from no type to `string`, and format from no format to `email` for status `200`
  - the `allOf[subschema #1: pickup]/pickup_address/allOf[subschema #1: address]/allOf[subschema #1: partial_address]/postal_code` response's property type changed from no type to `string` for status `200`
  - the `allOf[subschema #1: pickup]/pickup_window/end_at` response's property type changed from no type to `string`, and format from no format to `date-time` for status `200`
  - the `allOf[subschema #1: pickup]/pickup_window/start_at` response's property type changed from no type to `string`, and format from no format to `date-time` for status `200`
  - the `allOf[subschema #1: pickup]/pickup_windows/items/` response's property type changed from no type to `object` for status `200`
  - the `allOf[subschema #2: error_response_body]/errors/items/` response's property type changed from no type to `object` for status `200`
  - the `errors/items/` response's property type changed from no type to `object` for status `400`
  - the `errors/items/` response's property type changed from no type to `object` for status `404`
  - the `errors/items/` response's property type changed from no type to `object` for status `500`
  - removed `#/components/schemas/date_time` from the `allOf[subschema #1: pickup]/pickup_window/end_at` request property `allOf` list
  - removed `#/components/schemas/date_time` from the `allOf[subschema #1: pickup]/pickup_window/start_at` request property `allOf` list
  - removed `#/components/schemas/email` from the `allOf[subschema #1: pickup]/contact_details/email` request property `allOf` list
  - removed `#/components/schemas/pickup_windows` from the `allOf[subschema #1: pickup]/pickup_windows/items/` request property `allOf` list
  - removed `#/components/schemas/postal_code` from the `allOf[subschema #1: pickup]/pickup_address/allOf[subschema #1: address]/allOf[subschema #1: partial_address]/postal_code` request property `allOf` list
  - added the new optional request property `allOf[subschema #1: pickup]/pickup_windows/items/end_at`
  - added the new optional request property `allOf[subschema #1: pickup]/pickup_windows/items/start_at`
  - added the optional property `allOf[subschema #1: pickup]/pickup_windows/items/end_at` to the response with the `200` status
  - added the optional property `allOf[subschema #1: pickup]/pickup_windows/items/start_at` to the response with the `200` status
  - added the optional property `allOf[subschema #2: error_response_body]/errors/items/carrier_code` to the response with the `200` status
  - added the optional property `allOf[subschema #2: error_response_body]/errors/items/carrier_id` to the response with the `200` status
  - added the optional property `allOf[subschema #2: error_response_body]/errors/items/field_name` to the response with the `200` status
  - added the optional property `errors/items/carrier_code` to the response with the `400` status
  - added the optional property `errors/items/carrier_code` to the response with the `404` status
  - added the optional property `errors/items/carrier_code` to the response with the `500` status
  - added the optional property `errors/items/carrier_id` to the response with the `400` status
  - added the optional property `errors/items/carrier_id` to the response with the `404` status
  - added the optional property `errors/items/carrier_id` to the response with the `500` status
  - added the optional property `errors/items/field_name` to the response with the `400` status
  - added the optional property `errors/items/field_name` to the response with the `404` status
  - added the optional property `errors/items/field_name` to the response with the `500` status
  - removed `#/components/schemas/date_time` from the `allOf[subschema #1: pickup]/pickup_window/end_at` response property `allOf` list for the response status `200`
  - …26 more
- **2026-09-06** `3fdd35fbad5c`: 4 warning
  - added the new `freight_provider_already_connected` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_provider_already_connected` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_provider_already_connected` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_provider_already_connected` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
- **2026-08-15** `f3a66d204565`: 24 warning
  - added the new `freight_connection_inactive` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_connection_inactive` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_connection_inactive` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_connection_inactive` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `freight_provider_id_required` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_provider_id_required` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_provider_id_required` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_provider_id_required` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `freight_shipment_not_batchable` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_shipment_not_batchable` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_shipment_not_batchable` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_shipment_not_batchable` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `freight_shipment_not_found` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_shipment_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_shipment_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_shipment_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `freight_tracking_not_available` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_tracking_not_available` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_tracking_not_available` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_tracking_not_available` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`
  - added the new `freight_tracking_not_found` enum value to the `allOf[subschema #2: error_response_body]/errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `200`
  - added the new `freight_tracking_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `400`
  - added the new `freight_tracking_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `404`
  - added the new `freight_tracking_not_found` enum value to the `errors/items/allOf[subschema #1: error]/error_code/allOf[subschema #1: error_code]/` response property for the response status `500`

---

[Operation](https://skmtc.dev/shipstation/apis/shipengine-api/docs/v1/pickups/post.md) - [API](https://skmtc.dev/shipstation/apis/shipengine-api.md) - [Page](https://skmtc.dev/shipstation/apis/shipengine-api/changes/v1/pickups/post)
