API Documentation

The Appliance Rentals Provider API lets you manage your product listings, set location-specific pricing, and view leads programmatically.

Base URL

https://www.appliancerentals.com/api/v2/provider

Provider access required

You must be an approved provider with an API key to use this API. Apply here.

Authentication

All API requests must include your API key in the X-API-Key header.

# Example request with authentication
curl -X GET https://www.appliancerentals.com/api/v2/provider/products \
  -H "Accept: application/json" \
  -H "X-API-Key: ar_YOUR_API_KEY_HERE"

Your API key will be provided when your provider application is approved. Keep it secure—treat it like a password.

Rate Limits

API requests are rate-limited to prevent abuse.

LimitDetails
60 requests/minutePer API key
429 Too Many RequestsReturned when limit exceeded. Retry after 60 seconds.

Error Handling

All errors return a consistent JSON structure:

{
  "success": false,
  "message": "Descriptive error message",
  "errors": {
    "field_name": ["Validation error details"]
  }
}
StatusMeaning
200Success
201Created
401Invalid or missing API key
403Not authorized (not your resource)
404Resource not found
422Validation error
429Rate limit exceeded
500Server error

Products

GET /products

List all products for your account.

Response

{
  "success": true,
  "data": [
    {
      "id": 1,
      "name": "Standard Washer",
      "description": "Top-load washing machine, 4.5 cu ft",
      "category": "washer",
      "base_price": "45.00",
      "image": "https://example.com/washer.jpg",
      "is_active": true,
      "created_at": "2026-02-01T12:00:00Z"
    }
  ]
}
POST /products

Create a new product listing.

Request Body

FieldTypeRequiredDescription
namestringYesProduct name (max 255 chars)
descriptionstringNoProduct description
category_idintegerNoCategory ID (washer, dryer, etc.)
base_pricedecimalYesMonthly rental price
imagestringNoImage URL

Example

curl -X POST https://www.appliancerentals.com/api/v2/provider/products \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "X-API-Key: ar_YOUR_API_KEY_HERE" \
  -d '{
    "name": "Standard Washer",
    "description": "Top-load washing machine, 4.5 cu ft",
    "base_price": 45.00,
    "category_id": 1
  }'
PUT /products/{`{id}`}

Update an existing product. Send only the fields you want to change.

curl -X PUT https://www.appliancerentals.com/api/v2/provider/products/1 \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ar_YOUR_API_KEY_HERE" \
  -d '{"base_price": 49.99}'
DELETE /products/{`{id}`}

Delete a product and all associated pricing.

curl -X DELETE https://www.appliancerentals.com/api/v2/provider/products/1 \
  -H "X-API-Key: ar_YOUR_API_KEY_HERE"

Pricing

GET /products/{`{id}`}/pricing

Get location-specific pricing for a product.

{
  "success": true,
  "data": {
    "product_id": 1,
    "base_price": "45.00",
    "pricing": [
      {
        "location_id": 33,
        "location_name": "Circleville, OH",
        "price": "50.00",
        "is_available": true
      }
    ]
  }
}
PUT /products/{`{id}`}/pricing

Set or update location-specific pricing for a product. Each entry in the pricing array creates or updates pricing for that location.

curl -X PUT https://www.appliancerentals.com/api/v2/provider/products/1/pricing \
  -H "Content-Type: application/json" \
  -H "X-API-Key: ar_YOUR_API_KEY_HERE" \
  -d '{
    "pricing": [
      {"location_id": 33, "price": 50.00, "is_available": true},
      {"location_id": 34, "price": 45.00, "is_available": true}
    ]
  }'

Leads

GET /leads

List leads sent to your account. Supports pagination and status filtering.

Query Parameters

ParamTypeDescription
statusstringFilter by status: pending, sent, accepted, rejected
pageintegerPage number (default: 1)
per_pageintegerResults per page (default: 20, max: 100)
{
  "success": true,
  "data": [
    {
      "id": 42,
      "status": "sent",
      "product": "Standard Washer",
      "customer": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "[email protected]",
        "phone": "555-123-4567"
      },
      "sent_at": "2026-02-01T14:30:00Z",
      "created_at": "2026-02-01T14:30:00Z"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 20,
    "total": 1
  }
}
GET /leads/{`{id}`}

Get full details for a specific lead.

Need help?

If you have questions about the API or need support with your integration, contact us at [email protected].