API - Vendors and Purchase Orders

Available starting with the October 2026 release. Until that release is live, these endpoints return a 404.

Read your vendors and your purchase orders through the API. Both endpoints are read only: they return data and do not create or change anything.

ActionMethodURLAPI key permission
List vendorsGET/api6/vendorsSettings Vendors: Read Only or Full Access
Read one vendorGET/api6/vendors/{vendor_id}Settings Vendors: Read Only or Full Access
List purchase ordersGET/api6/purchase_ordersLeads: Read Only or Full Access
Read one purchase orderGET/api6/purchase_orders/{purchase_order_id}Leads: Read Only or Full Access

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

Package: WP/API and Vendors. You can activate the Vendor module under Settings > Subscription.


Vendors

List Vendors

curl "https://rental.software/api6/vendors?apiKey=YOUR_API_KEY&keyword=tent&limit=50"
ParameterDefaultDescription
keywordOnly vendors whose company name, contact name or email contains this text
categoryOnly vendors whose category contains this text
location_idMulti-location accounts only. Only vendors of that location
include_inactiveSend 1 to also return inactive vendors
limit25Number of vendors to return. The maximum is 100
offset0Number of vendors to skip
{
  "offset": 0,
  "limit": 50,
  "has_more": false,
  "items": [
    {
      "id": 38,
      "company_name": "Tri-County Tent Supply",
      "contact_name": "Morgan Diaz",
      "email": "orders@tricountytents.example.com",
      "cell_phone": "(330) 555-0171",
      "office_phone": "(330) 555-0170",
      "address1": "400 Industrial Pkwy",
      "address2": "",
      "city": "Akron",
      "state": "OH",
      "zip": "44301",
      "category": "Tents",
      "notes": "",
      "markup_percent": 20,
      "apply_markup": 1,
      "required_deposit": 0,
      "delivery_type": "",
      "location_id": 0,
      "active": 1,
      "custom_fields": []
    }
  ],
  "request_time": 1791817260
}

Vendors are sorted by company name. has_more tells you whether there is another page. When it is true, add your limit to offset and call again.

Read One Vendor

curl "https://rental.software/api6/vendors/38?apiKey=YOUR_API_KEY"

The answer is a single vendor object with the same fields as an item in the list. An inactive vendor can still be read by its ID.

Vendor Fields

FieldDescription
idVendor ID
company_name, contact_name, email, cell_phone, office_phoneWho the vendor is and how to reach them
address1, address2, city, state, zipVendor address
category, notesVendor category and notes
markup_percent, apply_markup, required_deposit, delivery_typeThe vendor's pricing and delivery settings
location_idLocation the vendor belongs to
active1 when the vendor is active
custom_fieldsList of the vendor's custom fields, each with id, name, type and value

Purchase Orders

List Purchase Orders

curl "https://rental.software/api6/purchase_orders?apiKey=YOUR_API_KEY&lead_id=520247"
ParameterDefaultDescription
lead_idOnly the purchase orders of that lead
vendor_idOnly the purchase orders for that vendor
include_archivedSend 1 to also return the earlier, archived versions of each purchase order document
limit25Number of purchase orders to return. The maximum is 100
offset0Number of purchase orders to skip
{
  "offset": 0,
  "limit": 25,
  "has_more": false,
  "items": [
    {
      "id": 4410,
      "lead_id": 520247,
      "vendor_id": 38,
      "vendor_name": "Tri-County Tent Supply",
      "vendor_contact_name": "Morgan Diaz",
      "vendor_email": "orders@tricountytents.example.com",
      "status": "Emailed",
      "live": true,
      "sent": true,
      "sent_date": {
        "local": "2026-10-12T11:00:00-04:00",
        "ts": 1791817200,
        "utc": "2026-10-12T15:00:00Z"
      },
      "signed": false,
      "signed_date": null,
      "signed_by": "",
      "template_id": 12,
      "template_name": "Standard Purchase Order",
      "document_id": 9921,
      "document_name": "PO 4410",
      "line_items": [
        {
          "line_id": 1,
          "item_id": 336198,
          "name": "10x10 Tent",
          "quantity": 2,
          "notes": ""
        }
      ]
    }
  ],
  "request_time": 1791817260
}

The example is shortened. Purchase orders are returned newest first.

Read One Purchase Order

curl "https://rental.software/api6/purchase_orders/4410?apiKey=YOUR_API_KEY"

The answer is a single purchase order with the same fields as an item in the list.

Purchase Order Fields

FieldDescription
id, lead_id, vendor_idThe purchase order, the lead it belongs to, and the vendor it is for
vendor_name, vendor_contact_name, vendor_emailVendor details, so you do not need a second call
statusOne of Created, Live, Emailed or Signed
sent, sent_dateWhether and when the purchase order was sent to the vendor
signed, signed_date, signed_byWhether, when and by whom it was signed
template_id, template_name, document_id, document_nameThe template and document used for the purchase order
created, modifiedWhen the purchase order was created and last changed
line_itemsThe items on the purchase order. Each has line_id, item_id, name, quantity, start, end and notes
archived_documentsOnly with include_archived=1. Earlier versions of the document

Every date in a purchase order is an object with three versions of the same moment: local (your account's time zone), ts (Unix timestamp) and utc.


Errors

StatusMessageWhat to do
400limit must be a positive number, offset must be 0 or a positive numberFix the paging values
400lead_id must be a positive number, vendor_id must be a positive number, location_id must be a numberSend a numeric ID
403Permission access restricted. Reading vendors needs the 'Settings Vendors' read permission.Set Settings Vendors to Read Only or Full Access on the API key
403Permission access restricted. Reading purchase orders needs the leads read permission.Set Leads to Read Only or Full Access on the API key
403Location access restrictedThe record belongs to a location the key cannot access
403Your subscription does not include the Vendors module required for the /vendors endpoint.Activate the Vendor module under Settings > Subscription
404Vendor not found, Purchase order not foundCheck the ID in the URL
405Only accepts GET requestsThese endpoints are read only. Use GET

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


Related Links

Is this article helpful?
0 0 0