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.
| Action | Method | URL | API key permission |
|---|---|---|---|
| List vendors | GET | /api6/vendors | Settings Vendors: Read Only or Full Access |
| Read one vendor | GET | /api6/vendors/{vendor_id} | Settings Vendors: Read Only or Full Access |
| List purchase orders | GET | /api6/purchase_orders | Leads: Read Only or Full Access |
| Read one purchase order | GET | /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"
| Parameter | Default | Description |
|---|---|---|
| keyword | Only vendors whose company name, contact name or email contains this text | |
| category | Only vendors whose category contains this text | |
| location_id | Multi-location accounts only. Only vendors of that location | |
| include_inactive | Send 1 to also return inactive vendors | |
| limit | 25 | Number of vendors to return. The maximum is 100 |
| offset | 0 | Number 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
| Field | Description |
|---|---|
| id | Vendor ID |
| company_name, contact_name, email, cell_phone, office_phone | Who the vendor is and how to reach them |
| address1, address2, city, state, zip | Vendor address |
| category, notes | Vendor category and notes |
| markup_percent, apply_markup, required_deposit, delivery_type | The vendor's pricing and delivery settings |
| location_id | Location the vendor belongs to |
| active | 1 when the vendor is active |
| custom_fields | List 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"
| Parameter | Default | Description |
|---|---|---|
| lead_id | Only the purchase orders of that lead | |
| vendor_id | Only the purchase orders for that vendor | |
| include_archived | Send 1 to also return the earlier, archived versions of each purchase order document | |
| limit | 25 | Number of purchase orders to return. The maximum is 100 |
| offset | 0 | Number 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
| Field | Description |
|---|---|
| id, lead_id, vendor_id | The purchase order, the lead it belongs to, and the vendor it is for |
| vendor_name, vendor_contact_name, vendor_email | Vendor details, so you do not need a second call |
| status | One of Created, Live, Emailed or Signed |
| sent, sent_date | Whether and when the purchase order was sent to the vendor |
| signed, signed_date, signed_by | Whether, when and by whom it was signed |
| template_id, template_name, document_id, document_name | The template and document used for the purchase order |
| created, modified | When the purchase order was created and last changed |
| line_items | The items on the purchase order. Each has line_id, item_id, name, quantity, start, end and notes |
| archived_documents | Only 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
| Status | Message | What to do |
|---|---|---|
| 400 | limit must be a positive number, offset must be 0 or a positive number | Fix the paging values |
| 400 | lead_id must be a positive number, vendor_id must be a positive number, location_id must be a number | Send a numeric ID |
| 403 | Permission access restricted. Reading vendors needs the 'Settings Vendors' read permission. | Set Settings Vendors to Read Only or Full Access on the API key |
| 403 | Permission access restricted. Reading purchase orders needs the leads read permission. | Set Leads to Read Only or Full Access on the API key |
| 403 | Location access restricted | The record belongs to a location the key cannot access |
| 403 | Your subscription does not include the Vendors module required for the /vendors endpoint. | Activate the Vendor module under Settings > Subscription |
| 404 | Vendor not found, Purchase order not found | Check the ID in the URL |
| 405 | Only accepts GET requests | These endpoints are read only. Use GET |
See API - Errors and Rate Limits for errors that apply to every call.