Supergood | Facilities Management Express API
Programmatically access Facilities Management Express work orders, preventive maintenance schedules, assets, inventory, and facility reservations with a stable REST API. Supergood builds and operates production-grade, unofficial FMX integrations so your team can automate facilities operations without heavy custom engineering.
Plain English: Facilities Management Express (FMX) is cloud-based facility and maintenance management software used by schools, municipalities, healthcare, manufacturing, and property teams to manage service requests, work orders, preventive maintenance, assets, inventory, and room reservations. An unofficial API lets you programmatically pull work orders, PM plans and tasks, assets and meter readings, parts inventory levels, and reservations—and push new requests, updates, checklists, and approvals back into FMX.
For a tech company integrating with FMX, this means you can ingest real-time request and asset data to power dashboards, sync inventory and labor costs to accounting (e.g., QuickBooks), automate PM scheduling from IoT sensor signals, or enrich your platform with reservation calendars, setup requirements, and facility usage. You can also trigger SLA alerts, route work orders, attach photos and documents, and keep stakeholder systems (ERP, analytics, BMS/IoT, helpdesk) in lockstep.
Many teams report challenges with FMX integration: reliance on CSV exports and scheduled reports, limited native API access or add-on costs, narrow webhook coverage, and complexity in approval workflows across modules. Supergood’s adapter turns those portal-first flows into secure, reliable endpoints for true automation.
What is Facilities Management Express?
Facilities Management Express (https://www.gofmx.com/) is a cloud platform for facilities and maintenance operations that centralizes service requests, work orders, preventive maintenance, asset tracking, inventory, facility scheduling, and transportation/fleet requests. Teams use FMX to triage and complete work orders, maintain equipment with calendar- or meter-based PM plans, manage parts stock and suppliers, schedule rooms and events with approval workflows, and analyze KPIs like response times, completion rates, and downtime.
Core product areas include:
- Work Orders & Service Requests (Maintenance, Custodial, Grounds, IT/Technology)
- Preventive Maintenance (Schedules, Checklists, Calendar/Meter-Based Tasks)
- Asset & Equipment Management (Locations, Lifecycles, Warranty, Meter Readings)
- Inventory & Parts (Stock Levels, Issues/Receipts, Reorder Points, Suppliers)
- Facility Scheduling & Events (Room Reservations, Approvals, Setup/Teardown)
- Fleet & Transportation (Vehicle Requests, Inspections, Maintenance)
- Reporting & Dashboards (KPIs, SLA Tracking, Exports)
Common data entities:
- Organizations, Sites/Campuses, Buildings, Rooms/Spaces
- Users, Roles/Permissions (Requester, Technician, Approver, Admin)
- Work Orders/Requests (Category, Priority, Status, SLA, Assignments)
- Assets/Equipment (Tags, Models, Serial Numbers, Location, Vendor, Warranty)
- Preventive Maintenance Plans & Tasks (Frequency, Checklists, Next Due)
- Inventory Items (SKU, Unit, Quantity, Min/Max, Cost, Supplier)
- Facility Reservations (Space, Time, Setup Requirements, Approvals)
- Vendors/Suppliers (Contacts, Agreements)
- Meter Readings, Attachments, Photos, Comments
The FMX Integration Challenge
Facilities teams rely on FMX daily, but turning portal-based workflows into API-driven automation is non-trivial:
- Role-aware modules: Requesters, technicians, and approvers each see different data and transitions
- Approval workflows: Reservations, PM, and multi-step requests require compliant state handling
- Portal-first features: Checklists, inventory issues, and reservation setup are optimized for UI flows
- Authentication complexity: SSO/MFA and session lifecycles complicate headless automation
- Data spread: Key objects span assets, work orders, PM plans, inventory, and reservations with context across calendars and reports
How Supergood Creates FMX APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your FMX tenant.
- 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
Use Cases
Work Order & Request Hub
- Mirror service requests and work orders into your internal systems
- Keep priorities, SLA due dates, and assignments current for analytics and routing
- Attach photos/documents and unify comments across field and office tools
Preventive Maintenance & IoT Automation
- Generate PM tasks from sensor alerts or runtime meters
- Update checklists and next-due dates programmatically
- Track completion and trigger follow-on inspections or audits
Assets, Inventory & Accounting Sync
- Sync assets, meter readings, and warranty details with your CMDB/ERP
- Normalize parts issues/receipts and push costs to accounting (e.g., QuickBooks)
- Reconcile stock levels and reorder points across sites
Facility Scheduling & Events
- Ingest reservations and approvals into your calendar platform
- Automate setup/teardown tasks linked to events
- Drive notifications and room utilization analytics in real time
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_fmx_2b71c9",
"name": "Facilities Manager",
"entitlements": ["work_orders", "pm", "assets", "inventory", "reservations"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Work Orders
GET /work-orders: List work orders and service requests with filters and summary details.
Query parameters
- siteId: string
- buildingId: string
- status: open | in_progress | on_hold | completed | canceled
- category: maintenance | custodial | grounds | technology | other
- priority: low | medium | high | critical
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"workOrderId": "wo_8c9210",
"number": 10427,
"title": "Replace belt on AHU-3",
"category": "maintenance",
"priority": "high",
"status": "in_progress",
"requesterId": "u_fmx_4912a1",
"requesterName": "J. Rivera",
"assigneeId": "u_fmx_77c8b2",
"assigneeName": "Tech Team A",
"siteId": "site_campus_north",
"buildingId": "bldg_science",
"room": "Mechanical Room 2",
"assetId": "asset_ahu_003",
"assetTag": "AHU-3",
"description": "Observed frayed belt; replace and verify tension.",
"slaDueAt": "2026-01-27T22:00:00Z",
"createdAt": "2026-01-25T12:14:00Z",
"updatedAt": "2026-01-26T09:31:22Z",
"laborHours": 1.5,
"materials": [
{"inventoryItemId": "inv_belt_3v650", "name": "3V650 Drive Belt", "quantity": 1, "unitCost": 17.50}
],
"attachments": [
{"attachmentId": "att_91a02f", "fileName": "belt_photo.jpg", "contentType": "image/jpeg", "size": 284123}
]
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Assets
POST /assets: Create a new asset/equipment record with location, lifecycle, and warranty metadata.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/assets \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"assetTag": "RTU-7",
"name": "Rooftop Unit 7",
"category": "HVAC",
"model": "Trane RTU-15T",
"serialNumber": "TRN-RTU-7-88234",
"siteId": "site_campus_north",
"buildingId": "bldg_gym",
"location": "Roof",
"vendorId": "ven_trane_local",
"purchaseDate": "2023-06-18",
"warrantyExpiration": "2026-06-18",
"meterUnit": "hours",
"currentMeterReading": 2140,
"status": "active",
"customFields": {
"voltage": "480V",
"phase": "3"
},
"attachments": [
{"fileName": "rtu_submittal.pdf", "uploadToken": "upl_43ab91"}
]
}'
Example response
{
"assetId": "asset_rtu_007",
"assetTag": "RTU-7",
"status": "active",
"createdAt": "2026-01-26T10:03:11Z"
}
Preventive Maintenance
PATCH /pm-tasks/{pmTaskId}: Update a preventive maintenance task's schedule, assignments, and checklist.
curl --request PATCH \
--url https://api.supergood.ai/integrations/<integration_id>/pm-tasks/pm_2c71e4 \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"frequency": {"type": "calendar", "interval": "monthly"},
"nextDueAt": "2026-02-15T08:00:00Z",
"assignedTeamId": "team_hvac_a",
"checklist": [
{"itemId": "chk_1", "text": "Inspect belts", "required": true},
{"itemId": "chk_2", "text": "Clean coils", "required": false}
],
"notes": "Shifted schedule due to gym tournament; ensure coil cleaning happens before weekend."
}'
Example response
{
"pmTaskId": "pm_2c71e4",
"status": "scheduled",
"nextDueAt": "2026-02-15T08:00:00Z",
"updatedAt": "2026-01-26T11:22:45Z"
}
Facility Reservations
POST /reservations: Create a room reservation with approvals and setup requirements.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/reservations \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"siteId": "site_campus_north",
"buildingId": "bldg_auditorium",
"spaceId": "room_main_hall",
"eventTitle": "Spring Concert",
"start": "2026-03-18T18:00:00Z",
"end": "2026-03-18T21:00:00Z",
"requestedByUserId": "u_fmx_87e210",
"setupRequirements": [
{"type": "chairs", "quantity": 300},
{"type": "av", "details": "Wireless mics x4, stage monitors"}
],
"approverIds": ["u_fmx_principal", "u_fmx_av_lead"],
"notifyOnApproval": true,
"attachments": [
{"fileName": "event_program.pdf", "uploadToken": "upl_7fa223"}
]
}'
Example response
{
"reservationId": "res_51af80",
"status": "pending_approval",
"spaceId": "room_main_hall",
"createdAt": "2026-01-26T11:56:12Z"
}
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, PM tasks, assets, inventory, and reservations
- Security: Encrypted transport, scoped tokens, and audit logging; respects FMX role-based permissions
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., approvals, schedule changes)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume work order sync and PM/reservation processing
- 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 FMX adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as FMX evolves.
Frequently Asked Questions
Q: Which FMX modules can this integration cover?
Supergood supports workflows across commonly used modules such as Work Orders & Requests, Preventive Maintenance (Plans, Tasks, Checklists), Asset Management (Tags, Warranty, Meter Readings), Inventory (Issues/Receipts, Reorder), and Facility Scheduling (Reservations, Approvals), 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 inventory, labor, and costs to our accounting system?
Yes. We can normalize parts issues/receipts and labor hours from work orders to match your ERP/accounting schema (e.g., cost centers, GL codes) and deliver updates via webhooks or polling while complying with rate and permission constraints. We commonly integrate with QuickBooks.
Q: Are approvals supported for reservations and preventive maintenance changes?
Yes. We support downloading approval artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs. Approval states and required sign-offs are modeled explicitly in our normalized responses.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Facilities Management Express workflows?
Supergood can have your FMX integration live in days with no ongoing engineering maintenance.