← Back to all docs

Joist API

Joist is a mobile-first business management app for contractors—used by over 1.3 million tradespeople to create estimates, send invoices, collect payments, offer homeowner financing, and manage clients and projects. An unofficial API lets you programmatically pull estimates, invoices, payments, clients, and projects—and push updates like new estimates, invoices, change orders, and client records back into Joist.

By Alex KlarfeldMay 30, 2026
Joist API

What is Joist?

Joist is a mobile-first business management app built for contractors, used by over 1.3 million tradespeople across plumbing, electrical, roofing, HVAC, general contracting, landscaping, painting, and other trades. Contractors use Joist to estimate, invoice, collect payments, offer homeowner financing, and manage clients and projects from anywhere—and to sync jobs and clients into QuickBooks Online for automated bookkeeping.

Core product areas include:

  • Estimates (deposits, markups, contracts, sections, and photos)
  • Invoicing (payment tracking, reminders, and branded invoices)
  • Payments (credit and debit card and online payment acceptance)
  • Homeowner Financing (partner lending with funding in ~3 business days)
  • Work Orders, Change Orders, and Expense Tracking
  • Client Management, Sales Reporting, and Joist Reviews
  • QuickBooks Sync (automated bookkeeping with QuickBooks Online)

Common data entities:

  • Estimates, Line Items, Markups, Deposits, Sections
  • Invoices, Payments, Financing Applications, Refunds
  • Clients, Contacts, Properties, Addresses
  • Projects, Work Orders, Change Orders, Expenses
  • Documents, Photos, Contracts, Attachments

The Joist Integration Challenge

Contractors run their estimating, invoicing, and payment workflows on Joist every day, but turning that mobile-first product into API-driven automation is non-trivial:

  • No public developer API: Joist exposes no documented REST API or developer portal, so estimate, invoice, and payment data lives behind the app
  • Mobile-first data: Core workflows are built around iOS and Android apps, so data is captured on-device rather than through a web API
  • Limited native sync: The built-in QuickBooks Online sync covers jobs and clients but not full job-costing detail, leaving gaps for downstream systems
  • Payment and financing flows: Card payments and partner homeowner financing run through embedded providers that aren't directly addressable
  • Plan-tiered features: Change orders, sales reporting, and expense tracking are gated by Basic, Pro, and Elite tiers, so available data varies by account
  • Document and photo workflows: Contracts, attachments, and job photos need careful upload/download handling to move out of the app

How Supergood Creates Joist APIs

Supergood reverse-engineers Joist's authenticated app and web flows to deliver a resilient API layer for your Joist account—covering estimates, invoices, payments, clients, and projects.

  • Handles username/password and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses across Estimates, Invoices, Payments, Clients, and Projects so you integrate once and rely on consistent objects
  • Aligns with plan-tier entitlements and account-specific fields to ensure compliant access

Use Joist with AI agents: Joist MCP Server →

Getting Started

  • Schedule Integration Assessment

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

  • Supergood Generates and Validates Your API

We deliver a production-ready Joist adapter tailored to your account configuration and entitlements.

  • Deploy with Monitoring

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

joist

API Endpoints

Authentication

POST/authenticate

Authenticate to a Joist account using username/password, or MFA, and obtain a session token for downstream calls.

Estimates

GET/estimates

List estimates with filters for client, status, date range, and amount, including line items, markups, and deposits.

Estimates

POST/create_estimate

Create a new estimate with line items, sections, markups, and deposit terms for a client.

Invoices

GET/invoices

Retrieve invoices and payment status across paid, partial, and outstanding states with reminder history.

Invoices

POST/create_invoice

Generate a new invoice from an estimate or from scratch, with line items and payment terms.

Payments

GET/payments

Pull payment and homeowner financing records with method, amount, status, and associated invoice.

Clients

GET/clients

List clients and contacts with properties, addresses, and associated projects and jobs.

Use Cases

Sync estimates and invoices into your accounting stack

- Pull estimates, invoices, and line items from Joist into a single warehouse - Stream payment and financing events to downstream AR and bookkeeping tools - Reconcile job and client records beyond the native QuickBooks Online sync

Automate estimate and invoice creation

- Push new estimates with sections, markups, and deposits without app clicks - Generate invoices from approved estimates and trigger payment reminders - Apply change orders to existing projects programmatically

Centralize client and project data

- Sync clients, contacts, and properties into a CRM or customer 360 - Keep projects, work orders, and expenses aligned across systems - Surface new leads and won jobs to sales and reporting tools

Track payments and homeowner financing

- Pull card payments and financing applications for cash-flow reporting - Match payments to invoices and flag outstanding balances for collections - Feed funding status into downstream finance and notification workflows

Technical Specifications

Authentication

Username/password and MFA (SMS, email, TOTP) handled in a managed session

Connectivity

Authenticated app and web flows; no public Joist developer API is required or assumed

Response format

Normalized JSON across Estimates, Invoices, Payments, Clients, and Projects objects

Rate limits

Adaptive throttling tuned to your account to avoid Joist-side limits

Session management

Automatic session refresh, MFA replay handling, and credential rotation

Data freshness

Near real-time pulls for estimates, invoices, and payments with optional scheduled batch syncs

Security

Encrypted credential vault, scoped access tokens, SOC 2-aligned controls, and audit logging

Webhooks

Event-style callbacks for estimate approval, invoice issuance, payment received, and financing status

Latency

Sub-second reads on cached entities; multi-second writes when posting estimates and invoices

Throughput

Horizontally scaled workers sized to high-volume estimating and invoicing activity

Reliability

Retry, backoff, and idempotency keys for invoice creation and payment transactions

Adaptation

Continuous monitoring of Joist app releases and account-specific configuration drift

Frequently asked questions

No. Joist does not publish a documented developer API or portal. Supergood works against the authenticated app and web flows you already use to expose estimates, invoices, payments, clients, and projects as a normalized API.

Joist's native sync covers jobs and clients into QuickBooks Online but not full job-costing detail. Supergood gives you programmatic access to estimates, invoices, payments, and line items so you can feed any system, not just QuickBooks.

Yes. The API supports both reads and writes, so you can create estimates and invoices, apply change orders, and trigger payment reminders without manual app entry.

Yes. Supergood profiles your account against its plan tier and entitlements, so features like change orders, sales reporting, and expense tracking are exposed where your plan includes them.

Payment and financing records are surfaced as normalized objects with method, amount, status, and the associated invoice, so you can reconcile card payments and partner financing in downstream finance tools.

Ready to get a real API?