API Documentation

Integrate EnhanceRoom directly into your workflow. Automate photo processing, generate listings, and scale your reselling business with our REST API.

REST API v1

The EnhanceRoom API is organized around REST principles. All requests and responses use JSON. Every response follows a consistent format with success, data, and optional error fields.

https://api.enhanceroom.com/api/v1

Capabilities

Background Removal

POST/api/v1/images/tools/remove-background

Remove backgrounds from product photos with pixel-perfect precision. Requires an uploaded image ID from the Media Service.

{
  "success": true,
  "data": {
    "originalImageId": "img_a1b2c3d4",
    "processedImageId": "img_e5f6g7h8",
    "displayUrl": "data:image/png;base64,...",
    "correctedOriginalUrl": null,
    "immediate": true,
    "projectId": "proj_x9y0z1"
  }
}

AI Background Generation

POST/api/v1/images/tools/generate-background

Generate AI-powered backgrounds for product photos. Supports custom prompts and style presets for professional-looking results.

{
  "success": true,
  "data": {
    "originalImageId": "img_a1b2c3d4",
    "processedImageId": "img_k3l4m5n6",
    "displayUrl": "data:image/png;base64,...",
    "projectId": "proj_x9y0z1"
  }
}

Listing Generation

POST/api/v1/listings/generate

Generate optimized product titles, descriptions, and pricing from your photos. Tailored for eBay, Poshmark, Mercari, and Depop.

{
  "success": true,
  "data": {
    "title": "Vintage Levi's 501 Original Fit...",
    "description": "Authentic vintage Levi's 501...",
    "suggestedPrice": 4500,
    "priceRangeMin": 3200,
    "priceRangeMax": 6800,
    "platform": "ebay"
  }
}

Batch Processing

POST/api/v1/batch

Process multiple images in a single batch. Monitor progress via SSE streaming. Ideal for high-volume sellers.

{
  "success": true,
  "data": {
    "batchId": "batch_x9y0z1",
    "totalImages": 24
  }
}

Authentication

Authenticate by logging in via POST /api/v1/auth/login to receive a session token. For web clients, the token is set as an httpOnly cookie automatically. For mobile or external integrations, include the token as a Bearer token.

Authorization: Bearer <session_token>

Sessions can be revoked via the logout endpoint. Tokens are validated server-side on every request.

Rate Limits

Rate limits are enforced per-endpoint to ensure fair usage and consistent performance.

  • Login / Register5 req / 15 minPer IP
  • Image Upload100 req / hourPer user
  • Image Processing50 req / hourPer user
  • Listing Generation20 req / hourPer user
  • Listing Create50 req / hourPer user

Headers X-RateLimit-Limit and X-RateLimit-Remaining are included in every response. Exceeding limits returns 429 with a Retry-After header.

Error Handling

All errors follow a consistent format. The code field provides a machine-readable error type for programmatic handling.

{
  "success": false,
  "error": "Monthly limit reached for remove-background.",
  "code": "QUOTA_EXCEEDED"
}
400 Validation error
401 Authentication required
403 Forbidden or quota exceeded
404 Resource not found
429 Rate limit exceeded
500 Internal server error

Getting Started

01

Create an account

Sign up at enhanceroom.com or register via the API.

02

Authenticate

Log in to receive a session token. Use it as a Bearer token in all requests.

03

Start processing

Upload images, remove backgrounds, generate listings, and more.

Ready to automate your workflow?

Start building with the EnhanceRoom API today. Free tier included.

Get Started