API Reference / overview

API Overview

Introduction to the DramWell REST API — base URLs, versioning, available resources, and how the API fits into the platform.

Overview

The DramWell API is a RESTful JSON API that powers every DramWell application — DramTrade, DramGuest, and DramPulse. You can use it to build custom integrations, automate workflows, sync data with external systems, or extend the platform in ways the built-in UI doesn't cover.

All requests and responses use application/json. The API is served from a single base URL with versioned namespaces so breaking changes never surprise you.


Base URL

https://api.dramwell.ai/v1

All endpoints documented here are relative to this base URL. For example, the customers list endpoint is:

GET https://api.dramwell.ai/v1/customers

Versioning

The API uses path-based versioning (/v1, /v2, ...). The current stable version is v1.

When a new version is released, the previous version remains active for a minimum of 12 months. Deprecation notices are sent via email and surfaced in the admin panel. We follow a strict additive-only policy within a version — new fields may appear in responses, but existing fields are never removed or renamed without a version bump.


Available Resources

Resource Description
customers Contact records, service history, equipment, and communication preferences
jobs Field service jobs including status, assignments, and time tracking
invoices Invoices, line items, payment status, and receipt delivery
technicians Team members and subcontractors with skill tags and location data
memberships Recurring maintenance plan subscriptions and renewal schedules
communications SMS, email, and voice communications sent to customers
guests Hotel and hospitality guest profiles (DramGuest vertical)
experiences Curated guest experience catalog items (DramGuest vertical)
bookings Experience and resource reservations (DramGuest vertical)

Request Format

All request bodies must be JSON with the Content-Type: application/json header set. Query parameters are used for filtering, sorting, and pagination on list endpoints.

POST /v1/jobs
Content-Type: application/json
Authorization: Bearer sk_live_xxxxxxxxxxxx

{
  "customer_id": "cus_01HXYZ",
  "service_type": "hvac_repair",
  "scheduled_at": "2026-03-10T09:00:00Z",
  "technician_id": "tech_01HABC"
}

Response Format

Successful responses return HTTP 2xx with a JSON body. Single-resource responses return the object directly. List responses use the cursor-based pagination envelope:

{
  "data": [...],
  "cursor": "cur_01HXYZ",
  "has_more": true
}

Errors always return a structured error object. See Error Handling for the full schema.


Rate Limits

Standard accounts are limited to 100 requests per minute. Premium accounts receive 1,000 requests per minute. If you exceed your limit, the API returns 429 Too Many Requests with headers indicating when you can retry. See Rate Limits for details.


Related Articles

Was this article helpful?