Skip to main content
(866) 858-3867
Get a Free Quote
REST API for Enterprise Accounts

Pro API Documentation

Integrate dumpster ordering directly into your project management software, ERP system, or custom workflows. Available to Enterprise Pro accounts.

RESTful Design

Standard REST conventions with JSON request and response bodies. Predictable URL structure and HTTP status codes.

API Key Auth

Authenticate with a Bearer token. Generate and manage API keys from your Pro Dashboard under Settings.

TLS Encrypted

All API traffic is encrypted over HTTPS. We never expose your data or credentials over unencrypted connections.

Authentication

All API requests must include your API key in the Authorization header. You can generate API keys from your Pro Dashboard under Settings. Keep your keys secure and never expose them in client-side code.

Authorization: Bearer YOUR_API_KEY

Endpoints

POST/api/pro/orders

Create a new order

Parameters

service_typestringrequiredService type (e.g., 'dumpster-rental', 'portable-toilets')
sizestringrequiredSize/quantity (e.g., '20-yard', '2-units')
delivery_addressstringrequiredFull delivery address
delivery_datestringrequiredRequested delivery date (ISO 8601)
pickup_datestringRequested pickup date (ISO 8601)
notesstringSpecial instructions
job_site_idstringSaved job site ID

Response

{
  "id": "UD-2026-1892",
  "status": "pending",
  "service_type": "dumpster-rental",
  "size": "20-yard",
  "delivery_address": "142 Elm Street, Dallas, TX 75201",
  "delivery_date": "2026-03-25T00:00:00Z",
  "estimated_price": 395.00,
  "discount_applied": 39.50,
  "created_at": "2026-03-19T14:30:00Z"
}
GET/api/pro/orders

List all orders with optional filters

Parameters

statusstringFilter by status: pending, active, completed
fromstringStart date filter (ISO 8601)
tostringEnd date filter (ISO 8601)
pagenumberPage number (default: 1)
limitnumberResults per page (default: 25, max: 100)

Response

{
  "orders": [
    {
      "id": "UD-2026-1892",
      "status": "active",
      "service_type": "dumpster-rental",
      "size": "20-yard",
      "delivery_address": "142 Elm Street, Dallas, TX",
      "delivery_date": "2026-03-25T00:00:00Z",
      "amount": 355.50
    }
  ],
  "total": 47,
  "page": 1,
  "limit": 25
}
GET/api/pro/invoices

List all invoices

Parameters

statusstringFilter by status: paid, pending, overdue
fromstringStart date filter (ISO 8601)
tostringEnd date filter (ISO 8601)

Response

{
  "invoices": [
    {
      "id": "INV-2026-0312",
      "date": "2026-03-01",
      "amount": 2360.00,
      "status": "pending",
      "orders_count": 5,
      "pdf_url": "https://api.ultimatedumpsters.com/invoices/INV-2026-0312.pdf"
    }
  ],
  "total": 12
}

Code Examples

curl
curl -X POST https://api.ultimatedumpsters.com/api/pro/orders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "service_type": "dumpster-rental",
    "size": "20-yard",
    "delivery_address": "142 Elm Street, Dallas, TX 75201",
    "delivery_date": "2026-03-25"
  }'
javascript
const response = await fetch(
  "https://api.ultimatedumpsters.com/api/pro/orders",
  {
    method: "POST",
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      service_type: "dumpster-rental",
      size: "20-yard",
      delivery_address: "142 Elm Street, Dallas, TX 75201",
      delivery_date: "2026-03-25",
    }),
  }
);

const order = await response.json();
console.log(order.id); // "UD-2026-1892"
python
import requests

response = requests.post(
    "https://api.ultimatedumpsters.com/api/pro/orders",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={
        "service_type": "dumpster-rental",
        "size": "20-yard",
        "delivery_address": "142 Elm Street, Dallas, TX 75201",
        "delivery_date": "2026-03-25",
    },
)

order = response.json()
print(order["id"])  # "UD-2026-1892"

Rate Limits

Rate limits are applied per API key. If you exceed the limit, you will receive a 429 status code. The response will include a Retry-After header indicating when you can retry.

TierPer MinutePer Day
Pro100 requests/minute5,000 requests/day
Enterprise500 requests/minute50,000 requests/day

Ready to Integrate?

API access is available to Enterprise Pro accounts. Apply today or contact our sales team to get started.

Call Now: (866) 858-3867