Supergood | ServiceMax API

Supergood | ServiceMax API

Programmatically access ServiceMax field service data, assets, schedules, and parts with a stable REST API. Supergood builds and operates production-grade, unofficial ServiceMax integrations so your team can automate dispatch, maintenance, and service logistics without heavy custom engineering.

Plain English: ServiceMax is field service management software used by asset-centric organizations to manage work orders, technician scheduling, installed base/asset records, service contracts and entitlements, parts inventory, and returns/repair. An unofficial API lets you programmatically pull work orders and appointments, assets and meter readings, contracts/entitlements, and parts stock/usage—and push updates like dispatches, status changes, parts consumption, and new asset readings back into ServiceMax.

For a tech company integrating with ServiceMax, this means you can ingest real-time service data to power operational dashboards, sync parts usage to ERP (e.g., NetSuite, SAP, QuickBooks), automate preventive maintenance creation from your product, or enrich your platform with technician notes, photos, and SLA compliance. You can also trigger dispatches, update work order statuses based on IoT alerts, verify entitlement coverage before scheduling, and keep stakeholder systems (ERP, analytics, IoT platforms) in lockstep.

What is ServiceMax?

ServiceMax (https://www.servicemax.com/) is a cloud platform for asset-centric field service management. Teams use ServiceMax to orchestrate work orders, schedule and dispatch technicians, track installed base/assets, manage contracts and entitlements, control parts and inventory, process RMAs and depot repair, and capture field data through mobile apps.

Core product areas include:

  • Work Order & Task Management (e.g., service requests, task lists, status flows)
  • Dispatch & Scheduling (e.g., territories, skills, calendars, appointments)
  • Installed Base & Asset Management (e.g., serial numbers, locations, warranties, meters)
  • Contracts & Entitlements (e.g., coverage rules, SLAs, pricing, warranties)
  • Parts & Inventory (e.g., warehouses, bins, stock levels, consumption, RMAs)
  • Maintenance Plans & PM Generation (e.g., job plans, cycles, triggers)
  • Field Mobility (e.g., offline forms, photos, signatures, time/expense)

Common data entities:

  • Accounts/Customers and Sites/Locations
  • Work Orders, Service Tasks, and Appointments/Visits
  • Technicians/Users, Skills, Territories, and Calendars
  • Assets/Installed Products with serials, models, warranties, and meter readings
  • Parts/Items, Warehouses/Bins, Shipments, and RMAs/Return Orders
  • Service Contracts, Entitlements, SLAs, and Coverage Rules
  • Time Entries, Expenses, Attachments, Notes, and Photos

The ServiceMax Integration Challenge

Field service teams rely on ServiceMax daily, but turning portal-based workflows into API-driven automation can be complex:

  • Asset-centric models: Entitlements, warranties, and coverage rules must be enforced when creating or updating work orders
  • Salesforce underpinnings: Profile/permission sets, record types, and sharing rules complicate headless automation and data access
  • Scheduling constraints: Skill matching, territories, technician calendars, and travel estimates are optimized in the UI and must be respected programmatically
  • Mobile/offline data: Technician submissions (photos, forms, time/expense) sync asynchronously and require careful reconciliation
  • Enterprise security: SSO, MFA, and role-based controls introduce additional steps for automation and session continuity

How Supergood Creates ServiceMax APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your ServiceMax 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
  • Maps picklist values and status transitions into stable enums you can integrate against

Use Cases

Work Order and Asset Sync

  • Mirror work orders, appointments, assets, and customers into your internal systems
  • Keep asset metadata current (serials, locations, warranty dates, meters) for analytics and service planning
  • Normalize statuses and priorities to power SLA dashboards and escalations

Dispatch and Scheduling Automation

  • Trigger appointments based on IoT alerts or external events
  • Auto-assign technicians by skills, territory, and availability
  • Orchestrate status changes and notifications as work progresses

Contracts and Entitlements

  • Verify coverage and SLAs before creating or scheduling work orders
  • Push contract updates and renewal dates from your CRM/ERP
  • Track actual response/repair times against entitlements for compliance

Parts and Inventory Reconciliation

  • Record parts consumption from the field and reconcile stock levels
  • Sync usage and costs to ERP (e.g., NetSuite, SAP, QuickBooks)
  • Automate RMAs and depot repair handoffs with attachments and shipment details

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_42b910",
    "name": "Dispatcher",
    "entitlements": ["work_orders", "appointments", "assets", "inventory"]
  }
}

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

  • accountId: string
  • assetId: string
  • status: new | scheduled | dispatched | in_progress | completed | canceled
  • priority: low | normal | high | critical
  • scheduledFrom, scheduledTo: ISO 8601 timestamps
  • updatedFrom, updatedTo: ISO 8601 timestamps
  • page, pageSize: integers for pagination

Example response

{
  "items": [
    {
      "workOrderId": "wo_8f91c2",
      "number": "WO-2026-01428",
      "status": "scheduled",
      "priority": "high",
      "accountId": "acct_9832a1",
      "siteId": "site_44dd9e",
      "assetId": "asset_7a21f0",
      "serviceType": "break_fix",
      "problemDescription": "Hydraulic pump overheating; temp alarm at 95°C",
      "scheduledStartAt": "2026-01-26T08:30:00Z",
      "scheduledEndAt": "2026-01-26T11:30:00Z",
      "assignedTechnicianId": "tech_51c0e3",
      "sla": { "responseHours": 4, "repairHours": 24 },
      "createdAt": "2026-01-24T14:05:00Z",
      "updatedAt": "2026-01-24T14:55:12Z"
    }
  ],
  "page": 1,
  "pageSize": 50,
  "total": 1
}

Appointments (Dispatch)

POST /work-orders/{workOrderId}/appointments: Create a technician appointment with scheduling metadata.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/work-orders/wo_8f91c2/appointments \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "technicianId": "tech_51c0e3",
    "startTime": "2026-01-26T08:30:00Z",
    "endTime": "2026-01-26T11:30:00Z",
    "territoryId": "terr_atl_north",
    "skillRequirements": ["hydraulics", "thermal_diagnostics"],
    "travelDurationMinutes": 35,
    "notes": "Bring IR thermometer and seal kit.",
    "attachments": [
      {"fileName": "alarm_log.csv", "uploadToken": "upl_98dc3a"}
    ]
  }'

Example response

{
  "appointmentId": "appt_20af51",
  "status": "scheduled",
  "workOrderId": "wo_8f91c2",
  "technicianId": "tech_51c0e3",
  "startTime": "2026-01-26T08:30:00Z",
  "endTime": "2026-01-26T11:30:00Z",
  "createdAt": "2026-01-24T15:01:03Z"
}

Parts Usage

POST /work-orders/{workOrderId}/parts-usage: Record parts consumed on a work order with costing and inventory context.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/work-orders/wo_8f91c2/parts-usage \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "lineItems": [
      {
        "partNumber": "HP-VALVE-3/4",
        "description": "3/4\" Hydraulic Relief Valve",
        "quantityUsed": 1,
        "warehouseId": "wh_atl_01",
        "bin": "A-12",
        "unitCost": 145.00,
        "usageType": "consumption"
      },
      {
        "partNumber": "THERM-IR-1000",
        "description": "IR Temperature Sensor",
        "quantityUsed": 1,
        "warehouseId": "wh_atl_01",
        "bin": "B-07",
        "unitCost": 89.00,
        "usageType": "consumption"
      }
    ],
    "addedByUserId": "tech_51c0e3",
    "notes": "Replaced valve; sensor calibrated and swapped due to drift."
  }'

Example response

{
  "workOrderId": "wo_8f91c2",
  "partsUsageId": "pu_7e3199",
  "status": "recorded",
  "totalCost": 234.00,
  "createdAt": "2026-01-26T12:02:44Z"
}

Asset Meter Readings

POST /assets/{assetId}/meter-readings: Add a new meter reading for an asset to support PM triggers and diagnostics.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/assets/asset_7a21f0/meter-readings \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "readingType": "runtime_hours",
    "value": 6235.4,
    "unit": "hours",
    "readAt": "2026-01-26T11:20:00Z",
    "source": "technician",
    "notes": "Reading captured post-repair; no anomalies detected."
  }'

Example response

{
  "readingId": "mr_55c4f8",
  "assetId": "asset_7a21f0",
  "readingType": "runtime_hours",
  "value": 6235.4,
  "unit": "hours",
  "readAt": "2026-01-26T11:20:00Z",
  "createdAt": "2026-01-26T11:21:12Z"
}

Get full API Specs →


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, appointments, assets, contracts/entitlements, and inventory objects
  • Security: Encrypted transport, scoped tokens, and audit logging; respects ServiceMax role-based permissions and coverage rules
  • Webhooks: Optional asynchronous delivery for long-running workflows (e.g., entitlement checks, appointment updates, RMA processing)

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume work order sync and parts usage recording
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your modules, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened ServiceMax adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as ServiceMax evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which ServiceMax modules can this integration cover?

Supergood supports workflows across commonly used modules such as Work Orders & Tasks, Dispatch & Scheduling, Installed Base/Assets, Contracts & Entitlements, Parts & Inventory, and RMAs/Depot Repair, 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 parts usage and inventory to our ERP?

Yes. We can normalize parts, warehouses/bins, and usage to match your ERP schema (e.g., NetSuite, SAP, QuickBooks) and deliver updates via webhooks or polling while complying with rate and permission constraints.

Q: Are attachments supported for appointments and work orders?

Yes. We support downloading artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs.



Ready to automate your ServiceMax workflows?

Supergood can have your ServiceMax integration live in days with no ongoing engineering maintenance.

Get Started →

Read more