### Complete FABookingRequest Payload Example Source: https://portal.forwardair.com/docs/api/bookingServices Comprehensive example showing a complete FABookingRequest XML structure with all major sections including order details, dimensions, freight details, pickup/delivery, and contact information. This demonstrates a typical booking creation request in test mode. ```xml Create 1234567 1234567 1 48 40 60 100 Electronics Equipment 5 250 L N N N 500.00 SHIP-123456 BOL-789012 Fragile cargo - handle with care. ATL LAX 2020-01-05 John Smith 555-123-4567 john.smith@company.com N LTP N 2020-01-05 ``` -------------------------------- ### Booking Payload Example (XML) Source: https://portal.forwardair.com/docs/api/bookingServices Example of a successful booking request payload in XML format. This includes details about the shipper, consignee, and delivery instructions. It requires specific formatting for accessorial services and contact information. ```xml John Doe Corp 123 Main St Anytown CA 90210 US John Doe 555-123-4567 john.doe@example.com 09:00:00 17:00:00 Jane Smith Inc 456 Oak Ave Otherville NY 10001 US Jane Smith 555-987-6543 jane.smith@example.com 08:00:00 18:00:00 LTD Leave at front door. Deliver to loading dock. ``` -------------------------------- ### GET GS Lane Service Request Example Source: https://portal.forwardair.com/docs/api/gsLanes Example of a GET request to the GS Lane Service endpoint to retrieve active Guaranteed Services lanes. Requires user, password, and customerId as headers, and effectiveDate and expirationDate as request parameters. The response is an array of GS lane objects. ```HTTP GET ${baseUrl}/ltlservices/v2/rest/ltlinfo/listgslane?effectiveDate=20201101&expirationDate=20201231 \ -H "user: YOUR_API_USERNAME" \ -H "password: YOUR_API_PASSWORD" \ -H "customerId: YOUR_CUSTOMER_ID" ``` -------------------------------- ### Get Upload Document Types - API Request Example Source: https://portal.forwardair.com/docs/api/documentServices This snippet demonstrates how to retrieve a list of supported document types for upload. It requires API user and password credentials. The response is a JSON object containing an array of document type strings. ```Bash curl -X GET \ '${baseUrl}/ltlservices/v2/rest/documenttypes' \ -H 'user: YOUR_API_USERNAME' \ -H 'password: YOUR_API_PASSWORD' ``` -------------------------------- ### Retrieve Service Schedule - JSON Example Source: https://portal.forwardair.com/docs/api/serviceSchedule This JSON example demonstrates the structure of a response from the Service Schedule API. It includes details such as origin, destination, transit days, cutoff and available times, and shipment/recovery days. ```json [ { "origin": "DFW", "destination": "ATL", "transitDays": "2", "cutoffTime": "20:00", "cutoffTimeZoneCode": "CT", "availableTime": "08:00", "availableTimeZoneCode": "ET", "shipDayOne": "Mon", "shipDayTwo": "Tue", "shipDayThree": "Wed", "shipDayFour": "Thu", "shipDayFive": "Fri", "shipDaySix": "", "shipDaySeven": "", "recoveryDayOne": "Wed", "recoveryDayTwo": "Thu", "recoveryDayThree": "Fri", "recoveryDayFour": "Mon", "recoveryDayFive": "Mon", "recoveryDaySix": "", "recoveryDaySeven": "" } ] ``` -------------------------------- ### XML Quote Request Payload Source: https://portal.forwardair.com/docs/api/gsQuotingServices This is an example of a REST XML payload for a zip-to-zip rate request. It includes details about the origin, destination, freight, and shipment characteristics. ```xml 1234567 1234567 90746 US N 48154 US N 1500 L 1 60.0 1 40 30 20 N N 0.00 2020-11-02 ``` -------------------------------- ### Successful Booking Response (XML) Source: https://portal.forwardair.com/docs/api/bookingServices Example of a successful booking response in XML. It includes the HTTP status code 200 and the FABookingResponse object containing the AirbillNumber and any remarks. ```xml 200 1234567890 Booking successful. ``` -------------------------------- ### REST Zipcode Service Request Example Source: https://portal.forwardair.com/docs/api/zipCodes This snippet demonstrates how to make a GET request to the Forward Expedited LTL Zipcode service to retrieve a list of serviced zip codes for a specified airport code. It requires authentication via user, password, and customerId headers, and the airportCode as a request parameter. ```HTTP GET https://example.com/ltlservices/v2/rest/ltlinfo/zipcodes?airportCode=DFW \ --header "user: YOUR_API_USERNAME" \ --header "password: YOUR_API_PASSWORD" \ --header "customerId: YOUR_CUSTOMER_ID" ``` -------------------------------- ### List Documents API Response Sample Source: https://portal.forwardair.com/docs/api/documentServices Example JSON response for the List Documents API endpoint. It details the structure of the document information returned, including document type, file name, file size, and download links. ```JSON [ { "documentType": "Other Support Document", "fileName": "DMALP0618120BOL.pdf", "fileType": "pdf", "waybillGabsKey": "ORD-472-74612199-00", "fileSize": 0, "link": "https://test-api.forwardair.com/ltlservices/v2/rest/waybills/74612199/documents/download?docId=RqUag4H77i3Re17%2B2SKoFEuCeeY1oRQnpELcQt6rk1%2BcdXTONfGm8MLWTiWh%2Bd2eOiaUptpruqarDCwnTfbv91zJzWz5BmSozm5uHVwcgO4BgZD8YzbPmCPPinWRNmFUbjsKt0RWyi5tajY8GM2SmNL94W6woAai6FDEo9bdrNg%3D", "gabsKey": "ORD-472-74612199-00" }, { "documentType": "Other Support Document", "fileName": "DMALP0618120DO.pdf", "fileType": "pdf", "waybillGabsKey": "ORD-472-74612199-00", "fileSize": 0, "link": "https://test-api.forwardair.com/ltlservices/v2/rest/waybills/74612199/documents/download?docId=RqUag4H77i3Re17%2B2SKoFEuCeeY1oRQnpELcQt6rk1%2BcdXTONfGm8MLWTiWh%2Bd2eOiaUptpruqarDCwnTfbv91zJzWz5BmSoE9jgHekb7T4uLYxKPCi3kAvjkf7bEmeyukKDm4qBwaUUkhUElCrPwyQqLaSiTFqOIo0zU9gf9b4IO0NNCXtkVQ%3D%3D", "gabsKey": "ORD-472-74612199-00" } ] ``` -------------------------------- ### Download Waybill Document - API Request Example Source: https://portal.forwardair.com/docs/api/documentServices This snippet demonstrates how to make a request to download a waybill document. It requires user credentials, account information, a reference number, and the document type. The response will contain binary document data or a JSON error if the airbill is not found. ```Bash curl -X GET \ '${baseUrl}/ltlservices/v2/rest/waybills/{{referenceNumber}}/documents/{documentType}' \ -H 'user: YOUR_API_USERNAME' \ -H 'password: YOUR_API_PASSWORD' \ -H 'billToAccountNumber: YOUR_BILL_TO_ACCOUNT_NUMBER' ``` -------------------------------- ### Unsuccessful Booking Response (XML) Source: https://portal.forwardair.com/docs/api/bookingServices Example of an unsuccessful booking response in XML. This indicates an error with HTTP status codes 400 or 500, and includes the FAError object with an ErrorMessage. ```xml 400 Invalid Shipper Zip Code. ``` -------------------------------- ### Upload Waybill Document - API Request Example Source: https://portal.forwardair.com/docs/api/documentServices This snippet shows how to upload a document for a specific waybill. It requires credentials, account number, reference number, and document type as parameters. The response indicates success with a JSON message. ```Bash curl -X POST \ '${baseUrl}/ltlservices/v2/rest/waybills/{{referenceNumber}}/documents?documentType={{documentType}}' \ -H 'user: YOUR_API_USERNAME' \ -H 'password: YOUR_API_PASSWORD' \ -H 'billToAccountNumber: YOUR_BILL_TO_ACCOUNT_NUMBER' ``` -------------------------------- ### Document Types List Response Example Source: https://portal.forwardair.com/docs/api/documentServices This JSON structure lists the available document types that can be uploaded. The 'documenttype' field contains an array of strings, each representing a valid document type. ```JSON { "documenttype": [ "CANADA","DELIVER","GSA","HAZMAT","INBOND","OTHER","PICKUP","SHIPBOL" ] } ``` -------------------------------- ### GET /ltlservices/v2/rest/ltlinfo/liststations Source: https://portal.forwardair.com/docs/api/listStations Retrieves a list of active stations. This service requires authentication via header parameters. ```APIDOC ## GET /ltlservices/v2/rest/ltlinfo/liststations ### Description Webservice to get a list of active Stations. This service requires authentication via header parameters. ### Method GET ### Endpoint ${baseUrl}/ltlservices/v2/rest/ltlinfo/liststations ### Parameters #### Header Parameters - **user** (string) - Required - Your API username. Please note this is not the same as your web username. - **password** (string) - Required - Your API password. Please note this is not the same as your web password. - **customerId** (string) - Required - Your API customerId. #### Query Parameters None #### Request Body Not required. ### Request Example None (GET request with headers) ### Response #### Success Response (200) - **airportCode** (string) - Required - The 3 char code for this station. Please use this while calling rating or booking services. - **address1** (string) - Required - Address 1 - **address2** (string) - Optional - Address 2 - **city** (string) - Required - City - **statecd** (string) - Required - State - **zip** (string) - Required - Zip code - **countrycd** (string) - Required - Country - **phone** (string) - Required - Phone number - **fax** (string) - Required - Fax number - **firmscode** (string) - Required - Firms code. - **examinationSite** (string) - Required - Y/N - **containerStation** (string) - Required - Y/N #### Response Example ```json [ { "airportCode": "ABE", "address1": "2202 26TH ST SW", "address2": null, "city": "ALLENTOWN", "statecd": "PA", "zip": "18103", "countrycd": "US", "phone": "484-223-2333", "fax": "484-223-1047", "firmscode": "B892", "examinationSite": "n", "containerStation": "N" } ] ``` ``` -------------------------------- ### Forward Air API Quote Response XML Source: https://portal.forwardair.com/docs/api/quotingServices This is an example of the XML response received from the Forward Air API after a quote request. It details shipment information, charges, and transit times. ```xml 1234567 1234567 90746 US 48154 US 1 40 30 20 60 1 1500.0 L N N N 0.00 2020-11-15 400.39 1500.0 3 PUL PICKUP LGBLB 0 0.00 DEL DELIVERY A 0 0.00 LTL LINEHAUL 3 0.00 FSC FSC 0 57.50 PUS PICKUP SURCHARGE 0 7.50 060 CLASS 60 0 319.42 LHS STATION SURCHARGE 0 15.97 ``` -------------------------------- ### Web Services Overview Source: https://portal.forwardair.com/docs/api/home Overview of the ForwardAir Expedited LTL Web Services, including API version information and how to gain access. ```APIDOC ## Forward Expedited LTL Web Services ### Overview Thank you for your interest in Forward Expedited Web Services. These documentation will showcase the services we have available, how to use them and how to get access. Our current active version of API is **Version 2**. Version 1 is deprecated and will no longer be updated with any new features. We recommend you move to the latest version as soon as possible. Access to all web services is controlled using the customer account specific API keys. If you are interested in access, please contact apisupport at forwardair.com with your Forward account number. If you are a third party TMS working on behalf of the customer, please include letter of authorization from customer for granting this access. ``` -------------------------------- ### Get Status History - SOAP XML Source: https://portal.forwardair.com/docs/api/statusServices This SOAP XML example demonstrates how to retrieve the status history of a shipment using the getStatusHistory operation. The request parameters are the same as getCurrentStatus, requiring user credentials, reference number and billing account. The response provides a history of the shipment's status updates. ```xml YOUR USER ID YOUR PASSWORD YOUR REF NUMBER YOUR BILLING ACCOUNT ``` -------------------------------- ### Available Services Source: https://portal.forwardair.com/docs/api/home A list of available web services provided by the ForwardAir API. ```APIDOC ## Available Services | Services | Description | |-------------------------|---------------------------------------------------------------------------------| | Shipment Quoting Services | Webservice to get a shipping quote. | | Multiple Quotes Services| Webservice to get a multiple Shipping Quotes which includes standard LTL and GS D2D by 5 PM delivery | | Shipment Booking Services | Webservices to submit and modify a shipment. Shipments are allowed to be modified before they become active. | | Waybill Services | Webservices to retrieve waybill information. | | Status Retrieval Services | Webservices to retrieve current status and status history of active shipment. | | Document Services | Webservices to upload or retrieve documents. | | AccessorialCodes Service| Webservices to lookup active accessorials. | | Service Schedule | Webservices to retrieve service schedule. | | Guaranteed Service | Webservices to lookup active guaranteed service lanes. | | Stations Service | Webservices to lookup active stations. | | Zipcode Service | Webservices to lookup active zip codes. | | FAQs | Frequently asked questions. | ``` -------------------------------- ### Get Current Shipment Status - SOAP XML Source: https://portal.forwardair.com/docs/api/statusServices This SOAP XML example shows how to request the current status of a shipment using the getCurrentStatus operation. It requires user credentials, the shipment's reference number, and billing account number. The response is an XML object containing the shipment's current status details. ```xml YOUR USER ID YOUR PASSWORD YOUR REF NUMBER YOUR BILLING ACCOUNT ``` -------------------------------- ### API Environments Source: https://portal.forwardair.com/docs/api/home Details about the available API environments, including their base URLs and purpose. ```APIDOC ## API Environments | Environment | Base URL | Purpose | |---------------|---------------------------------|------------------------------------------| | Test System | https://test-api.forwardair.com | Please use this system to run your test API calls | | Live System | https://api.forwardair.com | Please use this system when you go live. Please note that credential may be different than test system. | ``` -------------------------------- ### POST /booking - Create Shipment Booking Source: https://portal.forwardair.com/docs/api/bookingServices Creates a new shipment booking with shipper and consignee details, delivery accessorials, and pickup/delivery instructions. Returns an airbill number upon successful booking or error details on failure. ```APIDOC ## POST /booking ### Description Creates a new shipment booking in the Forward Air system. Requires shipper and consignee information, with optional delivery accessorials and special instructions. ### Method POST ### Endpoint /booking ### Request Body #### Root Object: FABookingRequest #### Delivery Accessorials - **DeliveryAccessorials** (Array) - Required - Container for delivery accessorial services - **DeliveryAccessorial** (String) - Optional - Accessorial code (e.g., LTD). Use accessorials webservice for current codes #### Instructions - **PickupInstruction** (String) - Optional - Special pickup instructions for the shipment - **DeliveryInstruction** (String) - Optional - Special delivery instructions for the shipment #### Shipper Information - **Shipper** (Object) - Required - Shipper details for this shipment - **ShipperLocationName** (String) - Required - Name of shipper location - **ShipperAddress1** (String) - Required - Primary address line - **ShipperAddress2** (String) - Optional - Secondary address line - **ShipperCity** (String) - Required - City - **ShipperState** (String) - Required - State abbreviation - **ShipperZipCode** (String) - Required - Postal code - **ShipperCountry** (String) - Required - Country code (US, CA, MX) - **ShipperContactName** (String) - Required - Contact person name - **ShipperContactPhone** (String) - Required - Contact phone number - **ShipperContactEmail** (String) - Required - Contact email address - **ShipperOpenTime** (String) - Required - Location open time (HH:MM:SS format) - **ShipperCloseTime** (String) - Required - Location close time (HH:MM:SS format) #### Consignee Information - **Consignee** (Object) - Required - Consignee details for this shipment - **ConsigneeLocationName** (String) - Required - Name of consignee location - **ConsigneeAddress1** (String) - Required - Primary address line - **ConsigneeAddress2** (String) - Optional - Secondary address line - **ConsigneeCity** (String) - Required - City - **ConsigneeState** (String) - Required - State abbreviation - **ConsigneeZipCode** (String) - Required - Postal code - **ConsigneeCountry** (String) - Required - Country code (US, CA, MX) - **ConsigneeContactName** (String) - Required - Contact person name - **ConsigneeContactPhone** (String) - Required - Contact phone number - **ConsigneeContactEmail** (String) - Required - Contact email address - **ConsigneeOpenTime** (String) - Required - Location open time (HH:MM:SS format) - **ConsigneeCloseTime** (String) - Required - Location close time (HH:MM:SS format) ### Request Example ```xml LTD Call upon arrival Leave at dock Main Warehouse 123 Main Street Atlanta GA 30303 US John Doe 404-555-0123 john@example.com 09:00:00 17:00:00 Distribution Center 456 Oak Avenue Dallas TX 75201 US Jane Smith 214-555-0456 jane@example.com 08:00:00 18:00:00 ``` ### Response #### Success Response (HTTP 200) - **http status code** (Integer) - 200 indicating successful request - **FABookingResponse** (Object) - Response container with booking details - **AirbillNumber** (String) - Generated airbill number for the booking - **Remarks** (String) - Additional remarks about the booking #### Success Response Example ```xml 1234567890 Booking confirmed successfully ``` #### Error Response (HTTP 400, 500) - **http status code** (Integer) - 400 for bad request, 500 for server errors - **FAError** (Object) - Error response container - **ErrorMessage** (String) - Detailed error message describing the issue #### Error Response Example ```xml Invalid shipper address provided ``` ### Notes - If the Shipper address is identified as a Shiplify address, applicable Shiplify accessorial charges will be automatically applied - If the Consignee address is identified as a Shiplify address, applicable Shiplify accessorial charges will be automatically applied - Retrieve current accessorial codes using the accessorials webservice before submitting booking requests ``` -------------------------------- ### GET /ltlservices/v2/rest/waybills/{referenceNumber}/statuses/currentStatus Source: https://portal.forwardair.com/docs/api/statusServices Retrieves the current status of a shipment. ```APIDOC ## GET /ltlservices/v2/rest/waybills/{{referenceNumber}}/statuses/currentStatus ### Description Retrieves the current status of a shipment. ### Method GET ### Endpoint /ltlservices/v2/rest/waybills/{{referenceNumber}}/statuses/currentStatus ### Parameters #### Path Parameters - **referenceNumber** (String) - Required - This will be the 8 digit airbill number or the full gabs key (origin gateway, airline code, airbill, sequence). If providing the full gabs key, use dashes in the individual parts. Ex. DFW-472-12345678-00 #### Header Parameters - **user** (String) - Required - Your API username. Please note this is not the same as your web username. - **password** (String) - Required - Your API password. Please note this is not the same as your web password. - **billToAccountNumber** (String) - Required - This is the full 7 digit bill to account number associated to the airbill and your user/password credentials. ### Request Example ```json { "referenceNumber": "12345678" } ``` ### Response #### Success Response (200) - **statusCode** (String) - Status Code (see below for codes and descriptions) - **statusDescription** (String) - Status Code description (see below for codes and descriptions) - **recordedBy** (String) - Status recorded by name. - **recordDate** (String) - Format is MM/DD/YY 24HH:mm. Example: 11/11/10 17:00 - **timeZoneCode** (String) - (PT, MT, CT, ET) - **airportCode** (String) - 3 char code for airport. - **pieces** (Number) - Handled pieces - **chargeableWeight** (Number) - Chargeable weight for this shipment. - **weightType** (String) - L for Lbs and K for Kgs. - **dimWeight** (Number) - (this can be 0.0 if no dim performed) - **dimFlag** (String) - 0 for N or 1 for Y - **reweighFlag** (String) - 0 for N or 1 for Y - **estimatedArrivalDate** (String) - Format MM/DD/YY 24HH:mm. This will be the latest estimate of arrival. - **scheduledDeliveryFromDate** (String) - Format MM/DD/YY 24HH:mm. This can be blank unless there is a delivery service. - **scheduledDeliveryToDate** (String) - Format MM/DD/YY 24HH:mm. This can be blank unless there is a delivery service. - **moveReferenceNumber** (String) - This is the manifest number for the move (if applicable). - **city** (String) - City - **state** (String) - State - **zip** (String) - Zip - **country** (String) - Country - **lat** (String) - Lattitude - **lon** (String) - Longitude #### Response Example ```json [ { "statusCode": "DPUP", "statusDescription": "Dispatched for Pickup", "recordedBy": "Driver", "recordDate": "11/06/20 11:02", "timeZoneCode": "CT", "airportCode": "ORD", "moveReferenceNumber": null, "moveReferenceNumberType": null, "pieces": 2, "chargeableWeight": 363.0, "weightType": "L", "dimWeight": 324.0, "dimFlag": "1", "reweighFlag": "0", "estimatedArrivalDate": "11/09/20 08:00", "scheduledDeliveryFromDate": "11/09/20 08:00", "scheduledDeliveryToDate": "11/09/20 17:00", "city": "DES PLAINES", "state": "IL", "zip": "60018", "country": "US", "lat": "42.019902", "lon": "-87.92752" } ] ``` ``` -------------------------------- ### Get Upload Document Types Source: https://portal.forwardair.com/docs/api/documentServices Retrieves a list of supported document types that can be uploaded via the API. ```APIDOC ## GET /ltlservices/v2/rest/documenttypes ### Description Retrieves a list of supported document types that can be uploaded via the API. ### Method GET ### Endpoint ${baseUrl}/ltlservices/v2/rest/documenttypes ### Parameters No specific parameters are required for this endpoint. ### Response #### Success Response (200) - The response will be a list of supported document types. ``` -------------------------------- ### GET /ltlservices/v2/rest/serviceschedule Source: https://portal.forwardair.com/docs/api/serviceSchedule Retrieves the service schedule for a given origin and destination. This endpoint requires authentication via header parameters. ```APIDOC ## GET /ltlservices/v2/rest/serviceschedule ### Description Retrieves the service schedule for a given origin and destination. This endpoint requires authentication via header parameters. ### Method GET ### Endpoint ${baseUrl}/ltlservices/v2/rest/serviceschedule ### Parameters #### Path Parameters None #### Query Parameters - **origin** (String) - Required - Origin FA Station code. - **destination** (String) - Required - Destination FA Station code. #### Header Parameters - **user** (String) - Required - Your API username. Please note this is not the same as your web username. - **password** (String) - Required - Your API password. Please note this is not the same as your web password. - **customerId** (String) - Required - Your API customerId. ### Request Body Not required. ### Response #### Success Response (200) Response will contain an array of service schedules. - **origin** (String) - Origin FA station code. - **destination** (String) - Destination FA station code. - **transitDays** (String) - Number of days for transit. - **cutoffTime** (String) - Cut off Time. - **cutoffTimeZoneCode** (String) - Cut off Time Zone Code. - **availableTime** (String) - Available Time. - **availableTimeZoneCode** (String) - Available Time Zone Code. - **shipDayOne** (String) - First Shipment Day. - **shipDayTwo** (String) - Second Shipment Day. - **shipDayThree** (String) - Third Shipment Day. - **shipDayFour** (String) - Fourth Shipment Day. - **shipDayFive** (String) - Fifth Shipment Day. - **shipDaySix** (String) - Sixth Shipment Day. - **shipDaySeven** (String) - Seventh Shipment Day. - **recoveryDayOne** (String) - Recovery for shipment day one. - **recoveryDayTwo** (String) - Recovery for shipment day two. - **recoveryDayThree** (String) - Recovery for shipment day three. - **recoveryDayFour** (String) - Recovery for shipment day four. - **recoveryDayFive** (String) - Recovery for shipment day five. - **recoveryDaySix** (String) - Recovery for shipment day six. - **recoveryDaySeven** (String) - Recovery for shipment day seven. #### Response Example ```json [ { "origin": "DFW", "destination": "ATL", "transitDays": "2", "cutoffTime": "20:00", "cutoffTimeZoneCode": "CT", "availableTime": "08:00", "availableTimeZoneCode": "ET", "shipDayOne": "Mon", "shipDayTwo": "Tue", "shipDayThree": "Wed", "shipDayFour": "Thu", "shipDayFive": "Fri", "shipDaySix": "", "shipDaySeven": "", "recoveryDayOne": "Wed", "recoveryDayTwo": "Thu", "recoveryDayThree": "Fri", "recoveryDayFour": "Mon", "recoveryDayFive": "Mon", "recoveryDaySix": "", "recoveryDaySeven": "" } ] ``` ``` -------------------------------- ### Pickup Object with Accessorials Configuration Source: https://portal.forwardair.com/docs/api/bookingServices Optional object used when shipping from shipper location or requiring pickup at OriginAirportCode. AirportPickup (Y/N) indicates airport pickup; PickupAccessorials array contains optional accessorial service codes (e.g., LTP) available through the accessorials webservice. ```xml N LTP ``` -------------------------------- ### POST /ltlservices/v2/rest/waybills/book Source: https://portal.forwardair.com/docs/api/bookingServices Books an LTL shipment using the RESTful API. Requires authentication and an XML payload for the booking details. ```APIDOC ## POST /ltlservices/v2/rest/waybills/book ### Description This endpoint allows you to book an LTL shipment using a RESTful API. You need to provide your API credentials and a valid XML booking request in the request body. ### Method POST ### Endpoint `${baseUrl}/ltlservices/v2/rest/waybills/book` ### Parameters #### Header Parameters - **user** (string) - Required - Your API username. This is different from your web username. - **password** (string) - Required - Your API password. This is different from your web password. - **customerId** (string) - Required - Your API customer ID. - **Content-Type** (string) - Required - Must be `application/xml`. JSON is not supported. #### Request Body - **Body** (xml) - Required - The booking XML payload. This must adhere to the Booking Request Schema. ### Request Example ```xml ``` ### Response #### Success Response (200) - **BookShipmentResponse** (xml) - The XML response containing the booking result. #### Response Example ```xml ``` ``` -------------------------------- ### GET /ltlservices/v2/rest/documenttypes Source: https://portal.forwardair.com/docs/api/documentServices This endpoint retrieves a list of allowed document types for document upload. It returns a list of document types that can be used when uploading documents. ```APIDOC ## GET /ltlservices/v2/rest/documenttypes ### Description Retrieves a list of allowed document types for document upload. Returns a list of document types that can be used when uploading documents. ### Method GET ### Endpoint /ltlservices/v2/rest/documenttypes ### Parameters #### Path Parameters N/A #### Query Parameters N/A #### Request Body N/A #### Header Parameters - **user** (Header param) - Required - Your API username. Please note this is not the same as your web username. - **password** (Header param) - Required - Your API password. Please note this is not the same as your web password. ### Request Example N/A ### Response #### Success Response (200) - **documenttype** (Array) - Array of document types. #### Response Example ```json { "documenttype": [ "CANADA","DELIVER","GSA","HAZMAT","INBOND","OTHER","PICKUP","SHIPBOL" ] } ``` ### Error Response (400) N/A ```