REST API · Pro plan

REST API Reference

Create and query work orders and assets programmatically. Ideal for custom integrations, IoT sensor triggers, or building your own middleware.

Authentication

Every request requires an Authorization: Bearer YOUR_API_KEY header. Generate keys under Settings → API Keys in your RunTight dashboard (admin role, Pro plan required). Keys are automatically disabled if your tenant is downgraded to Free.

curl https://www.getruntight.com/api/v1/work-orders \
  -H "Authorization: Bearer YOUR_API_KEY"

Base URL

https://www.getruntight.com/api/v1

List work orders

GET/api/v1/work-orders

Returns a paginated list of work orders in your tenant, most recent first.

Query parameters

  • status — filter by status (open, in_progress, on_hold, completed, skipped)
  • limit — max items to return (default 50, max 200)
  • offset — pagination offset (default 0)
curl "https://www.getruntight.com/api/v1/work-orders?status=open&limit=25" \
  -H "Authorization: Bearer YOUR_API_KEY"

Response

{
  "data": [
    {
      "id": "uuid",
      "title": "Weekly hydraulic press inspection",
      "description": "Check hoses, pressure, leaks",
      "wo_type": "preventive",
      "status": "open",
      "priority": "high",
      "due_date": "2026-04-15",
      "assigned_to": "user-uuid",
      "asset_id": "asset-uuid",
      "started_at": null,
      "completed_at": null,
      "created_at": "2026-04-11T18:22:33Z"
    }
  ],
  "total": 142,
  "limit": 25,
  "offset": 0
}

Create a work order

POST/api/v1/work-orders

Create a new work order. The title is required; everything else is optional.

Body parameters

  • title (required) — human-readable title
  • description — longer description
  • prioritylow, medium, high, or critical (default: medium)
  • wo_typereactive, corrective, or preventive (default: reactive)
  • asset_id — must belong to your tenant
  • assigned_to — must be an active user in your tenant
  • due_date — ISO date string (default: today)
curl -X POST https://www.getruntight.com/api/v1/work-orders \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Bearing replacement on CNC #1",
    "priority": "high",
    "wo_type": "corrective",
    "asset_id": "asset-uuid-here",
    "due_date": "2026-04-15"
  }'

Response (201 Created)

{
  "data": {
    "id": "new-uuid",
    "title": "Bearing replacement on CNC #1",
    "status": "open",
    "priority": "high",
    "wo_type": "corrective",
    "due_date": "2026-04-15",
    "created_at": "2026-04-11T18:45:12Z"
  }
}

List equipment / assets

GET/api/v1/assets

Returns a list of equipment in your tenant.

curl https://www.getruntight.com/api/v1/assets \
  -H "Authorization: Bearer YOUR_API_KEY"

iCalendar feed

GET/api/v1/calendar.ics

Subscribe to an auto-updating feed of the next 90 days of open/in-progress work orders from Google Calendar, Apple Calendar, Outlook, or any iCal-compatible client.

Calendar clients can't set Authorization headers, so pass the API key as a query parameter instead.

https://www.getruntight.com/api/v1/calendar.ics?key=YOUR_API_KEY

Paste the full URL into:

  • Google Calendar → Settings → Add calendar → From URL
  • Outlook → Add calendar → Subscribe from web
  • Apple Calendar → File → New Calendar Subscription

Each event is an all-day entry on the due_date, with priority in the title, equipment name, and a deep link back to the work order.

Errors

  • 401 Unauthorized — missing or invalid API key
  • 403 Forbidden — your tenant is on Free plan (API is Pro-only)
  • 400 Bad Request — validation error (missing title, invalid asset_id, etc.)
  • 500 Internal Server Error — unexpected — please email support

Rate limits

Reasonable use is unmetered. If you need high-volume programmatic access (thousands of requests per minute), email support@getruntight.com and we'll work with you.

Other ways to integrate

  • Outbound webhooks — get notified when events happen
  • • CSV import and export (available in the app)