Supergood | Jonas Construction API
Programmatically access Jonas Construction job costing, service management, dispatch, and financials with a stable REST API. Supergood builds and operates production-grade, unofficial Jonas integrations so your team can automate field and office workflows without heavy custom engineering.
Plain English: Jonas Construction is construction ERP software used by contractors and service companies to run accounting, job cost, service dispatch/work orders, payroll/time, inventory, equipment, and project management. An unofficial API lets you programmatically pull customers and sites, service work orders, technician assignments and timesheets, inventory usage, contracts, and invoices—and push new records or updates back into Jonas.
For a tech company integrating with Jonas Construction, this means you can ingest real-time customer and site data to power scheduling and routing, sync work orders into your field app, automate dispatch and status updates, capture time and materials from technicians, and reconcile billing with your ERP or analytics stack. You can also push new work orders, update assignments and scheduled windows, add labor/material entries, and create service invoices while keeping stakeholder systems (ERP, CRM, analytics, scheduling) in lockstep.
What is Jonas Construction?
Jonas Construction (https://www.jonasconstruction.com/) is an integrated construction management and service ERP for contractors. Teams use Jonas to manage accounting and job cost, dispatch technicians, handle work orders and service contracts, track inventory and equipment, run payroll and HR, and oversee project financials and WIP reporting.
Core product areas include:
- Service Management (e.g., call taking, dispatch board, work orders, PM schedules, service agreements)
- Job Cost & Financials (e.g., budgets, cost codes, progress billing, AP/AR, GL, WIP)
- Field Operations (e.g., eMobile time entry, labor/material capture, equipment history)
- Inventory & Equipment (e.g., items, stock levels, parts issues/returns, asset tracking)
- Payroll & HR (e.g., timesheets, pay rules, overtime, certifications)
- Document Management (e.g., attachments, photos, work order documents)
Common data entities:
- Companies (customers), Contacts, and Site Locations
- Service Work Orders (statuses, priorities, scheduled windows)
- Technicians, Crews, Schedules, Timesheets
- Jobs/Projects, Cost Codes, Budgets
- Inventory Items, Material Lines, Equipment Assets
- Service Contracts/Agreements and Preventive Maintenance tasks
- Invoices, AP Bills, Purchase Orders
The Jonas Construction Integration Challenge
Contractors rely on Jonas daily, but turning portal-based workflows into API-driven automation is non-trivial:
- Module-specific interfaces: Service Management, Job Cost, Inventory, and Payroll each have distinct workflows and entitlements
- Enterprise security: SSO/MFA and strict role-based controls complicate headless automation
- Deployment variability: Cloud-hosted and on-prem environments introduce network/session differences
- Portal-first features: Dispatch boards, time capture, and billing screens are optimized for human interaction
- Financial rigor: Cost codes, approvals, and auditability must be respected programmatically
How Supergood Creates Jonas APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Jonas 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
Customer & Site Sync
- Mirror customers, site locations, and contacts into your internal systems
- Keep addresses, service agreements, and equipment metadata current for routing and planning
- Enrich CRM records with Jonas account identifiers for unified reporting
Work Order Lifecycle Automation
- Create work orders from your product (web, mobile, IoT alerts) with priorities and SLAs
- Update statuses, scheduled windows, and technician assignments programmatically
- Attach photos/documents and record labor/materials from the field
Dispatch & Scheduling Integration
- Push assignment changes from your scheduling or optimization engine
- Track ball-in-court (dispatcher vs technician) and escalate when SLAs are at risk
- Maintain real-time calendars and availability across crews
Time Capture & Payroll Sync
- Collect technician timesheets with regular/OT hours against work orders and cost codes
- Validate pay rules and export summaries to payroll/HR systems
- Drive productivity analytics and job cost accuracy
Inventory & Equipment Updates
- Issue/return parts against work orders and jobs
- Keep equipment history, warranties, and service tasks up to date
- Alert stakeholders when inventory thresholds are met
Billing & ERP Reconciliation
- Generate service invoices from approved labor/material entries
- Sync financials to your ERP (e.g., NetSuite, QuickBooks) for AR and reporting
- Track WIP and costs for accurate margin analysis
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_b81c20",
"name": "Dispatcher",
"entitlements": ["customers", "service_work_orders", "timesheets", "financials"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Customers
GET /customers: List customers with filters and summary details.
Query parameters
- status: active | inactive
- updatedFrom, updatedTo: ISO 8601 timestamps
- city, region: strings for geo filters
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"customerId": "cust_29e510",
"name": "Northside Facilities, LLC",
"status": "active",
"primaryContact": {
"name": "Dana Reeves",
"email": "[email protected]",
"phone": "+1-404-555-0182"
},
"sites": [
{
"siteId": "site_7ca213",
"name": "Northside HQ",
"address": {
"line1": "1200 Peachtree St NE",
"city": "Atlanta",
"region": "GA",
"postalCode": "30309",
"country": "US"
}
}
],
"updatedAt": "2026-01-20T13:45:00Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Service Work Orders
POST /service-work-orders: Create a new service work order with scheduling and assignment details.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/service-work-orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"customerId": "cust_29e510",
"siteId": "site_7ca213",
"priority": "high",
"status": "open",
"receivedAt": "2026-01-21T08:57:00Z",
"scheduledWindow": {
"start": "2026-01-22T09:00:00Z",
"end": "2026-01-22T12:00:00Z"
},
"slaHours": 24,
"problemDescription": "RTU-3 not cooling, suspected low refrigerant.",
"equipment": {
"equipmentId": "eq_00491",
"tag": "RTU-3",
"model": "Carrier 50TCQA"
},
"assignedTechnicianIds": ["tech_881ac1"],
"attachments": [
{"fileName": "site_photo.jpg", "uploadToken": "upl_91fd02"}
],
"referenceId": "alert-rtu3-1769"
}'
Example response
{
"workOrderId": "wo_5621d7",
"workOrderNumber": "WO-2026-0173",
"status": "open",
"createdAt": "2026-01-21T09:12:33Z",
"referenceId": "alert-rtu3-1769"
}
PATCH /service-work-orders/{workOrderId}: Update status, scheduled window, or technician assignments.
curl --request PATCH \
--url https://api.supergood.ai/integrations/<integration_id>/service-work-orders/wo_5621d7 \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"status": "dispatched",
"scheduledWindow": {
"start": "2026-01-22T10:00:00Z",
"end": "2026-01-22T13:00:00Z"
},
"assignedTechnicianIds": ["tech_881ac1", "tech_994b20"],
"notes": "Second tech added for diagnostics."
}'
Example response
{
"workOrderId": "wo_5621d7",
"status": "dispatched",
"assignedTechnicianIds": ["tech_881ac1", "tech_994b20"],
"updatedAt": "2026-01-21T10:03:11Z"
}
Timesheets
POST /technicians/{technicianId}/timesheets: Create a timesheet entry against a work order and cost code.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/technicians/tech_881ac1/timesheets \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"date": "2026-01-22",
"workOrderId": "wo_5621d7",
"jobId": null,
"costCodeId": "cc_service_hvac",
"hoursRegular": 3.5,
"hoursOvertime": 0.5,
"notes": "Diagnostics and refrigerant charge",
"attachments": [
{"fileName": "signed_work_order.pdf", "uploadToken": "upl_0a71cb"}
]
}'
Example response
{
"timesheetId": "ts_8b7f11",
"technicianId": "tech_881ac1",
"date": "2026-01-22",
"hoursTotal": 4.0,
"status": "submitted",
"createdAt": "2026-01-22T17:20:44Z"
}
Invoices
POST /service-work-orders/{workOrderId}/invoices: Create a service invoice from approved labor and materials.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/service-work-orders/wo_5621d7/invoices \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"invoiceDate": "2026-01-23",
"referenceNumber": "INV-2026-0119",
"labor": [
{"description": "HVAC service - regular", "hours": 3.5, "rate": 115.00},
{"description": "HVAC service - overtime", "hours": 0.5, "rate": 172.50}
],
"materials": [
{"itemSku": "R410A-25LB", "description": "R-410A Refrigerant", "quantity": 3.0, "unitCost": 18.00}
],
"taxPercent": 7.0,
"attachments": [
{"fileName": "invoice.pdf", "uploadToken": "upl_7fa223"}
],
"notes": "Includes refrigerant and diagnostics."
}'
Example response
{
"invoiceId": "inv_41ac72",
"status": "submitted",
"workOrderId": "wo_5621d7",
"subtotal": 606.00,
"tax": 42.42,
"total": 648.42,
"createdAt": "2026-01-23T11: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 customers, work orders, timesheets, and financial objects
- Security: Encrypted transport, scoped tokens, and audit logging; respects Jonas role-based permissions
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., invoice approvals, work order escalations)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume work order sync and timesheet 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 Jonas adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Jonas evolves.
Frequently Asked Questions
Q: Which Jonas modules can this integration cover?
Supergood supports workflows across commonly used modules such as Service Management (Work Orders, Dispatch, Service Contracts), Job Cost & Financials (Budgets, Cost Codes, Invoices), Inventory & Equipment, and Payroll/Timesheets, 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 invoices and costs to our ERP?
Yes. We can normalize service invoices and job cost data to match your ERP schema (e.g., NetSuite, QuickBooks) and deliver updates via webhooks or polling while complying with rate and permission constraints.
Q: Are attachments supported for work orders and timesheets?
Yes. We support downloading artifacts and uploading attachments via signed uploads, with checksum validation and time-limited URLs.
Q: Do you support on-prem Jonas deployments?
We can operate with customer-managed credentials and network access. Our adapter is designed to handle session persistence and connectivity for on-prem or hosted environments, aligned with your security policies.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your Jonas Construction workflows?
Supergood can have your Jonas integration live in days with no ongoing engineering maintenance.