Pinnacle Logistics Group API Documentation Powered by Priority1

Pinnacle Logistics API

Rate, book, track and pull documents for your freight.

You can be looking at live rates on your own account in about a minute. No install, no setup — just your API key and the button below.

Get your first quote

Three steps. Everything runs right here in your browser.

1

Paste your API key

Your Pinnacle rep sent this to you. It starts with p1_live_. It is stored only in this browser.

2

Run a sample quote

Every field a rate request actually takes is below, pre-filled with a working example: one pallet, 275 lbs, Little Rock to Chicago. Change anything, add more line items, or open More options for the fields you can leave out.

3

Copy the code into your system

The exact request you just ran, in your language, with your key already filled in.

Verify your key above to fill in these samples.

Code samples

Every endpoint below has a Show code button that generates a working snippet in any of these languages, using whatever values you have typed into the form. If you just want a ready-made collection:

Includes every endpoint, pre-authenticated with your key.

How the API works

Base URL

Authentication

Send your key in an X-API-KEY header on every request. There is no login, no token exchange, and nothing expires.

Every request looks the same

Common mistakes

Almost every support ticket we get is one of these five.

If you see thisIt usually means
401 Invalid API key The key was copied with a missing character or extra whitespace. Copy it again from where your rep sent it.
401 Missing X-API-KEY The header name is wrong. It is X-API-KEY, not Authorization or api-key.
403 not permitted Your key is fine, but that endpoint is not switched on for you. Ask your rep to enable it.
405 requires POST You used GET. Every endpoint is POST, including tracking and document lookups.
400 with a field name A required field is missing or the wrong type. Dates are 2026-01-31T00:00:00, dimensions are inches, weight is pounds.

Endpoints

Click any endpoint to open it. Each one has a fill-in form, a live test button, and a code generator. Verify your key above and the ones you can use will be marked.

Errors & fixes

StatusWhat it means and what to do
200Success.
400Something in your body is missing or invalid. The message names the field.
401Missing or unrecognized key. Check the header name and that you are posting to our base URL.
403Valid key, but that endpoint is not enabled for you. Contact your rep.
404No such endpoint. Check the path for a typo.
405Wrong HTTP method. Use POST.
429Too many requests. Wait a moment and retry. Your limit is shown when you verify your key.
501That endpoint is not offered through this API at all.
502Temporary problem on our side or a carrier's. Retry; if it persists, contact us.

Accepted values

Freight class

Not sure? Use the suggested class endpoint.

50, 55, 60, 65, 70, 77.5, 85, 92.5, 100, 110, 125, 150, 175, 200, 250, 300, 400, 500

Packaging type

Bag, Bale, Box, Bucket, Bundle, Can, Carton, Case, Coil, Crate, Cylinder,
Drums, Pail, Pieces, Pallet, Reel, Roll, Skid, Tube, Tote

Reference / identifier types

PRO, BILL_OF_LADING, CUSTOMER_REFERENCE, PICKUP, PURCHASE_ORDER, EXTERNAL, SALES_ORDER

Document types

BillOfLading, DeliveryReceipt, WeightCertificate, Invoice, PackingVisualization,
SignedBillOfLading, CarrierBillOfLading, PalletLabel, RateConfirmation

Formats: PDF, TIF, PNG, GIF, JPG.

Truckload equipment

53_Foot_Dry_Van, Sprinter_Van, Straight_Truck, Large_Straight_Truck,
Small_Straight_Truck, 53_Foot_Flatbed, 48_Foot_Flatbed,
53_Foot_Step_Deck, 48_Foot_Step_Deck

Accessorial codes

CodeService
LGPULiftgate at pickup
LGDELLiftgate at delivery
APPTDelivery appointment
INDELInside delivery
RESPUResidential pickup
RESDELResidential delivery
NOTIFYNotify before delivery
LTDPULimited access pickup
LTDDELLimited access delivery

Ask your rep for the full list if you need something not shown here.

Get help

Stuck on something? Contact your Pinnacle Logistics account rep. It speeds things up a lot if you include the endpoint you called, the request body, and the full response you got back — the Copy result button on any test above grabs all of that for you.