Supergood | Click Maint API
Programmatically access Click Maint maintenance data—work orders, assets, preventive maintenance plans, request portal submissions, parts inventory, vendors, and documents—with a stable REST API. Supergood builds and operates production-grade, unofficial Click Maint integrations so your team can automate field and office processes without heavy custom engineering.
Plain English: Click Maint is maintenance management (CMMS) software for facilities and property teams to capture requests, triage and dispatch work orders, manage assets and locations, schedule preventive maintenance, track parts, contractors, labor, and costs, and report on uptime and SLA performance. An unofficial API lets you pull work orders, assets, locations, PM schedules, inventory, vendors, meter readings, checklists, and attachments—and push new work orders, assignments, completions, parts usage, and maintenance plans back into Click Maint.
For a tech company integrating with Click Maint, this means you can ingest real-time maintenance and asset data to power dashboards, sync work orders and costs to accounting (e.g., QuickBooks, Xero), trigger notifications (e.g., Slack) and escalations, automate PM plan generation from OEM specs or IoT signals, or enrich your platform with technician schedules, checklists, and photos. You can route requests from your customer/tenant apps into Click Maint, attach documents, post meter readings, and keep ERP, analytics, CRM, scheduling, and procurement tools in lockstep.
What is Click Maint?
Click Maint (https://www.clickmaint.com/) is a cloud CMMS that centralizes maintenance operations for facilities, property portfolios, and service teams. Organizations use Click Maint to intake maintenance requests, manage and assign work orders, maintain an asset registry across sites and locations, schedule time- or meter-based preventive maintenance, track inventory and vendors/contractors, capture labor and parts costs, and document work with checklists and photos. Teams typically operate via web and mobile with QR codes for fast asset lookup.
Core product areas include:
- Work Order Management (Requests, Dispatch, Scheduling, Status/SLA, Labor & Parts, Attachments)
- Asset & Location Management (Assets/Equipment, Sites/Buildings, Rooms/Spaces, Tags, QR Codes)
- Preventive Maintenance (Calendars, Meter/Runtime Triggers, Checklists, Auto-Generated Work Orders)
- Inventory & Vendors (Parts/Stock, Reorder Levels, Vendors/Contractors, Receiving/Usage)
- Request Portal & Mobile (Customer/Tenant Intake, Technician Mobile App, Photos/Documents)
- Reporting & Costs (Downtime/Uptime, SLA/Backlog, Labor/Parts Costing, Compliance/History)
Common data entities:
- Organizations, Sites, Locations (buildings, floors, rooms)
- Users and Roles/Permissions (Admins, Technicians, Requesters, Vendors)
- Assets/Equipment (metadata, model/serial, status, meters, warranty)
- Work Orders (priority, status, category, SLA, assignments, labor/parts, attachments)
- Preventive Maintenance Plans (cadence, meter triggers, checklists, next due)
- Parts/Inventory (SKU, bins, on-hand, reorder level, vendors)
- Vendors/Contractors (contacts, insurance/COI, service categories)
- Checklists/Inspections (templates, results)
- Meter Readings (counters, hours, cycles, timestamps)
The Click Maint Integration Challenge
Maintenance teams rely on Click Maint daily, but turning portal-based workflows into API-driven automation can be challenging:
- Portal-first flows: Requests, checklists, and PM generation are optimized for the UI, not headless automation
- Role-aware data: Requesters, technicians, and vendors see different fields, statuses, and attachments
- Event timing: PM and SLA timers create or update work orders based on schedules and meter readings
- Data spread: Work orders reference assets, locations, labor, parts, and documents across multiple views
- Authentication and sessions: Long-lived sessions, MFA, and tightened security can complicate integrations
- Limited developer surface: Click Maint’s public site emphasizes usability over developer tooling, and teams often report relying on exports or manual processes when they need system-to-system automation
Supergood closes these gaps with a resilient, supported, and secure unofficial API layer tailored to your Click Maint tenant.
How Supergood Creates Click Maint APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Click Maint environment.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh and change detection
- Normalizes responses so you can integrate once and rely on consistent objects across modules
- Aligns with customer entitlements and role-based permissions to ensure compliant access
- Supports attachment uploads/downloads with signed URLs and checksum validation
Use Cases
Work Order Intake, Dispatch, and SLA Tracking
- Create work orders from your apps, forms, or IoT alerts and auto-assign technicians
- Mirror status changes to CRMs and notify teams via Slack or email
- Track SLA timers and escalate overdue tasks with automated rules
Asset Registry & Meter Sync
- Sync assets, locations, and tags to your ERP/asset ledger
- Post meter readings from BMS/IoT to drive PM schedules
- Generate QR codes and unify asset documents and photos
Preventive Maintenance Automation
- Create PM plans from manufacturer recommendations or fleet policies
- Predict upcoming PMs and schedule technicians across sites
- Push checklist results and attach compliance artifacts
Inventory & Cost Control
- Post parts usage and labor costs to accounting (e.g., QuickBooks, Xero)
- Reconcile inventory and trigger reorders when on-hand falls below thresholds
- Attribute costs to assets/locations for chargebacks and reporting
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" }
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_clk_1f92a0",
"name": "Maintenance Manager",
"entitlements": ["work_orders", "assets", "pm", "inventory", "vendors"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Work Orders
GET /work-orders: List work orders with filters and summary details.
Query parameters
- siteId: string
- assetId: string
- status: open | in_progress | on_hold | completed | cancelled
- priority: low | medium | high | urgent
- assignedToUserId: string
- requestedFrom, requestedTo: ISO 8601 timestamps
- dueFrom, dueTo: ISO 8601 timestamps
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"workOrderId": "wo_7b3f10",
"number": 10428,
"title": "Air handler making noise",
"description": "Rattling sound on startup; 4th floor mechanical room.",
"status": "in_progress",
"priority": "high",
"category": "HVAC",
"requestSource": "portal",
"requester": {"name": "Jordan Lee", "email": "[email protected]", "phone": "+1-402-555-0170"},
"site": {"id": "site_ne_omaha", "name": "Omaha HQ"},
"location": {"id": "loc_fl4_mech", "name": "4th Floor Mechanical"},
"asset": {"id": "asset_ahu_401", "name": "AHU-401", "tag": "AHU-401"},
"assignedTo": {"userId": "tech_9c10e2", "name": "Casey Morgan"},
"scheduledStart": "2026-01-26T14:00:00Z",
"dueDate": "2026-01-27",
"slaDueAt": "2026-01-26T22:00:00Z",
"costs": {"laborTotal": 0.0, "partsTotal": 0.0, "currency": "USD"},
"attachmentCount": 2,
"createdAt": "2026-01-25T17:42:12Z",
"updatedAt": "2026-01-26T12:11:04Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
POST /work-orders: Create a work order with requester, asset, and assignment metadata.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/work-orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Leaking sink in breakroom",
"description": "Steady drip under the sink; cabinet base getting wet.",
"priority": "medium",
"category": "Plumbing",
"siteId": "site_ne_omaha",
"locationId": "loc_fl3_breakroom",
"assetId": null,
"requester": {"name": "Priya Shah", "email": "[email protected]", "phone": "+1-402-555-0141"},
"initialAssigneeUserId": "tech_2d8a00",
"dueDate": "2026-01-28",
"attachments": [{"fileName": "leak_photo.jpg", "uploadToken": "upl_6aa9b2"}],
"notifyAssignee": true,
"customFields": {"floor": "3", "spaceType": "breakroom"}
}'
Example response
{
"workOrderId": "wo_81af22",
"number": 10429,
"status": "open",
"createdAt": "2026-01-26T10:03:11Z"
}
PATCH /work-orders/{workOrderId}: Update status, assignment, schedule, labor, and parts usage.
curl --request PATCH \
--url https://api.supergood.ai/integrations/<integration_id>/work-orders/wo_7b3f10 \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"status": "completed",
"assignedToUserId": "tech_9c10e2",
"scheduledStart": "2026-01-26T14:00:00Z",
"dueDate": "2026-01-27",
"labor": [
{"userId": "tech_9c10e2", "hours": 1.5, "rate": 85.0, "notes": "Tightened blower mounts; adjusted belt tension."}
],
"parts": [
{"partId": "prt_belt_a34", "quantity": 1, "unitCost": 23.50}
],
"completionNote": "Noise resolved after replacing worn belt and securing mounts.",
"resolutionCode": "repaired",
"attachments": [{"fileName": "after_photo.jpg", "uploadToken": "upl_7fe223"}],
"closedAt": "2026-01-26T15:55:44Z"
}'
Example response
{
"workOrderId": "wo_7b3f10",
"status": "completed",
"laborTotal": 127.5,
"partsTotal": 23.5,
"updatedAt": "2026-01-26T15:56:12Z"
}
Assets
GET /assets: List assets with location, meter, and PM summary.
Query parameters
- siteId: string
- locationId: string
- category: string
- tag: string
- status: active | inactive
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers
Example response
{
"items": [
{
"assetId": "asset_ahu_401",
"tag": "AHU-401",
"name": "Air Handling Unit",
"category": "HVAC",
"model": "Trane TAHU-1200",
"serial": "TRN-401-9921",
"status": "active",
"site": {"id": "site_ne_omaha", "name": "Omaha HQ"},
"location": {"id": "loc_fl4_mech", "name": "4th Floor Mechanical"},
"inServiceDate": "2023-06-01",
"meters": [
{"meterId": "mtr_hours", "type": "hours", "reading": 3621, "uom": "h", "updatedAt": "2026-01-20T09:01:00Z"}
],
"pmPlans": [
{"pmPlanId": "pm_ah_90d", "title": "Quarterly Inspection", "cadence": {"type": "time", "everyDays": 90}, "nextDueAt": "2026-03-15"}
],
"warrantyExpiresAt": "2028-06-01",
"vendorId": "ven_trane_omaha",
"updatedAt": "2026-01-21T13:45:00Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Preventive Maintenance Plans
POST /assets/{assetId}/pm-plans: Create a preventive maintenance plan (time- or meter-based) with checklist and assignment.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/assets/asset_ahu_401/pm-plans \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"title": "Quarterly Inspection",
"cadence": {"type": "time", "everyDays": 90},
"checklistTemplateId": "chk_hvac_qtr",
"assignedTeamId": "team_fac_ops",
"startDate": "2026-01-15",
"generateFirstWorkOrder": true
}'
Example response
{
"pmPlanId": "pm_ah_90d",
"nextDueAt": "2026-04-14",
"status": "active",
"createdAt": "2026-01-21T11:20:44Z"
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across modules
- Rate limits: Tuned for enterprise throughput while honoring customer entitlements and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks
- Data freshness: Near real-time retrieval of work orders, assets, PM schedules, and inventory
- Security: Encrypted transport, scoped tokens, and audit logging; respects Click Maint role-based permissions
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., PM generation, SLA escalations, status changes)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume work order sync, PM generation, and inventory updates
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your modules, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Click Maint adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Click Maint evolves.
Frequently Asked Questions
Q: Which Click Maint modules can this integration cover?
Supergood supports workflows across commonly used modules such as Work Orders (Requests, Dispatch, SLA), Assets & Locations, Preventive Maintenance (time and meter-based), Inventory/Parts, and Vendors/Contractors, subject to your licensing and entitlements. We scope coverage during integration assessment.
Q: How are MFA and SSO handled for automation?
We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.
Q: Can you sync work orders, labor, and parts to our accounting system?
Yes. We can normalize work orders, labor time, parts usage, and costs to match your ERP/accounting schema and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with QuickBooks and Xero.
Q: Do you support attachments and mobile photos?
Yes. We support uploading attachments via signed uploads, with checksum validation and time-limited URLs. We also expose download links for existing documents and photos.
Q: Can you automate PM plan creation and meter-based triggers?
Yes. We can create PM plans (time- or meter-based), post meter readings from BMS/IoT, and track next due dates to generate work orders on schedule.
Q: What if we only have CSV/Excel exports today?
We can ingest your exported data to seed or backfill systems and then keep ongoing data in sync via the unofficial API. This is a common bridge when native integrations or public APIs are limited.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Click Maint workflows?
Supergood can have your Click Maint integration live in days with no ongoing engineering maintenance.