---
title: "Schedule a pickup"
method: POST
path: "/v-beta/ltl/pickups"
tags: ["ltl"]
---

# Schedule a pickup

`POST /v-beta/ltl/pickups`

Create a bill of lading and schedule a pickup with the carrier in one request. The BOL must be printed and given to the carrier at pickup.

## Request body

- LtlPickupRequest — Request to schedule an LTL pickup
  - `carrier_id` string, uuid, required — The carrier to use for this pickup
  - `carrier` object — Optional carrier instructions
    - `instructions` string — Special instructions for the carrier
    - `test` boolean — Whether this is a test request
  - `options` object[] — Accessorial services for the pickup
    - `code` string
    - `attributes` object
  - `shipment` object, required — Shipment details
    - `service_code` string, required — Service level code
    - `pickup_date` string, date, required — Pickup date (YYYY-MM-DD)
    - `pickup_window` object — Pickup time window
      - `start_at` string — Earliest pickup time (HH:MM:SS)
      - `end_at` string — Latest pickup time (HH:MM:SS)
      - `closing_at` string — Facility closing time (HH:MM:SS)
    - `packages` object[], required
    - `ship_from` Address, required — A complete or partial mailing address.
      - `name` string — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string — The name of the city or locality
      - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
    - `ship_to` Address, required — A complete or partial mailing address.
      - `name` string — The name of a contact person at this address. This field may be set instead of - or in addition to - the `company_name` field.
      - `phone` string — The phone number of a contact person at this address. The format of this phone number varies depending on the country.
      - `email` string, nullable — Email for the address owner.
      - `company_name` string, nullable — If this is a business address, then the company name should be specified here.
      - `address_line1` string — The first line of the street address. For some addresses, this may be the only line. Other addresses may require 2 or 3 lines.
      - `address_line2` string, nullable — The second line of the street address. For some addresses, this line may not be needed.
      - `address_line3` string, nullable — The third line of the street address. For some addresses, this line may not be needed.
      - `city_locality` string — The name of the city or locality
      - `state_province` string — The state or province. For some countries (including the U.S.) only abbreviations are allowed. Other countries allow the full name or abbreviation.
      - `postal_code` string — postal code
      - `country_code` string — A two-letter [ISO 3166-1 country code](https://en.wikipedia.org/wiki/ISO_3166-1)
      - `address_residential_indicator` 'unknown' | 'yes' | 'no' — Indicates whether an address is residential.
    - `bill_to` object, required
    - `requested_by` object, required

## Response `200`

Pickup successfully scheduled

- LtlPickupResponse — Response from scheduling an LTL pickup
  - `confirmation_number` string — Carrier confirmation number
  - `pickup_id` string — Unique pickup identifier
  - `quote_id` string — Associated quote ID
  - `pro_number` string — PRO number assigned by carrier
  - `shipment_id` string — ShipEngine shipment ID
  - `message` string — Optional carrier message
  - `documents` object[] — Generated documents (BOL)
    - `type` string
    - `format` string
    - `image` string — Base64-encoded document
  - `warnings` object[] — Any carrier warnings
    - `external_code` string
    - `message` string

## Other responses

- `400` — The request contained errors.
- `404` — The specified resource does not exist.
- `500` — An error occurred on ShipEngine's side. > This error will automatically be reported to our engineers.

---

[API](https://skmtc.dev/shipstation/apis/shipengine-api.md) · [All operations](https://skmtc.dev/shipstation/apis/shipengine-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/shipstation/shipengine-api/revisions/34a92205ccb2/schema)
