API - Packing Lists - Retrieve Details or Update

Read the packing list progress of the items on a lead, and record items as loaded. This is the endpoint to use when you connect a scanning or warehouse system to your packing lists.

ActionMethodURLAPI key permissionPackage
List your packing list statusesGEThttps://rental.software/api6/packinglistsSettings Packing List Statuses: Read Only or Full AccessWP/API
Get the loading details of a leadGEThttps://rental.software/api6/packinglists?lead_id={id}Leads: Read Only or Full AccessWP/API
Record an item as loadedPOSThttps://rental.software/api6/packinglistsLeads: Full AccessWP/API

Base URL: https://rental.software/api6. Every request needs your apiKey.


GET /packinglists

Request Parameters

ParameterTypeRequiredDescription
lead_idintegerNoThe lead to read
rental_idintegerNoOne rental item on that lead. Only used together with lead_id
easyrfidinteger (0 or 1)NoSend 1 to include only easyrfid items. Only used together with lead_id

What you get back depends on which parameters you send:

  • No parameters: a list of all the packing list statuses available in your account, in order.
  • lead_id and rental_id: all the loaded quantities and statuses the rental item has, in order of earliest to latest status. The quantity on the lead is returned as quantity.
  • lead_id only: an object containing all items on the lead. Each key is a Rental ID and each value has the same format as the single item response.

Example Request

curl "https://rental.software/api6/packinglists?apiKey=YOUR_API_KEY&lead_id=520247&rental_id=30083"

Example Response

{
  "0": {
    "loading_timestamp": "1758301109",
    "loading_loaded": "3",
    "loading_notes": "",
    "loading_skip": "0",
    "loading_plstatusid": {
      "plstatus_id": "1234",
      "plstatus_name": "prepare",
      "plstatus_requirescan": "0",
      "plstatus_order": "0",
      "plstatus_delivered": "0",
      "plstatus_intransit": "0",
      "plstatus_possession": "1"
    }
  },
  "1": {
    "loading_timestamp": "1758304709",
    "loading_loaded": "3",
    "loading_notes": "",
    "loading_skip": "0",
    "loading_plstatusid": {
      "plstatus_id": "1235",
      "plstatus_name": "loaded",
      "plstatus_requirescan": "1",
      "plstatus_order": "1",
      "plstatus_delivered": "0",
      "plstatus_intransit": "1",
      "plstatus_possession": "1"
    }
  },
  "quantity": "5",
  "request_time": 1760000000
}

Response Fields

FieldDescriptionExample
loading_timestampUnix timestamp of when the loading entry was last updated1758301109
loading_loadedLoaded quantity3
loading_skipLoading was skipped0 or 1
loading_notesLoading notes
loading_plstatusidThe packing list status this entry belongs to. It is an object holding the plstatus_ fields below
plstatus_idPacking list status ID1234
plstatus_namePacking list status nameprepare
plstatus_requirescanPacking list status requires items to be physically scanned0 or 1
plstatus_orderPacking list status order0, 1, 2 and so on
plstatus_deliveredPacking list status is delivered0 or 1
plstatus_intransitPacking list status is in transit0 or 1
plstatus_possessionPacking list status is in company possession0 or 1
quantityRequested quantity of the item on the lead5
request_timeThe current request time as a Unix timestamp in seconds

POST /packinglists

Request Parameters

ParameterTypeRequiredDescription
lead_idintegerYesThe lead the item is on
rental_idintegerYesThe rental item
plstatus_idintegerYesThe packing list status to record the loading on. Get the IDs with GET /packinglists
loaded_qtynumberYesThe quantity loaded
notesstringNoNotes about the specific item
skipinteger (0 or 1)NoSkip loading the item on the specified packing list status. If the loaded quantity does not match what is specified on the lead, this needs to be set for the status to be considered complete
removeinteger (0 or 1)NoRemoves the item from the packing list, starting at the specified status. Send the item again without remove to put it back

Example Request

curl -X POST "https://rental.software/api6/packinglists" \
  -d "apiKey=YOUR_API_KEY" \
  -d "lead_id=520247" \
  -d "rental_id=30083" \
  -d "plstatus_id=1235" \
  -d "loaded_qty=3"

Example Responses

Successful response:

200 OK
Content-Type: application/json

{
  "request_time": 1760000000
}

Error responses:

403 Forbidden

{
  "status": 403,
  "message": "Permission access restricted. Lead Full Access Required."
}
404 Not Found

{
  "status": 404,
  "message": "lead_id not found"
}
422 Unprocessable Content

{
  "status": 422,
  "message": "The lead id, item id, plstatus id, and loaded quantity are required."
}

Errors

StatusMessageWhat to do
403Permission access restricted. Packing List Statuses Access Required.Listing the statuses needs the Settings Packing List Statuses permission on the API key
403Permission access restricted. Lead Full Access Required.Recording a loading needs Leads set to Full Access on the API key
404lead_id not found, rental_id not found, or plstatus_id not foundThe ID named in the message does not exist in your account
404Not foundYour account has no packing list statuses set up
422The lead id, item id, plstatus id, and loaded quantity are required.Send all four required parameters
405Only accepts GET AND POST requestsUse GET or POST

See API - Errors and Rate Limits for errors that apply to every call.


Related Links

Is this article helpful?
0 0 1