API REFERENCE

Integrations API

The integrations surface connects AlgaPSA to outside systems. Every endpoint lives under /integrations/{provider} and follows the same shape: authorize the provider, confirm the connection is healthy, map AlgaPSA records to the provider's, then sync. QuickBooks is the provider available today.

Connect a provider

A connection starts with OAuth. Call POST /integrations/quickbooks/oauth/initiate to get an authorization URL, then hand the provider's response back through POST /integrations/quickbooks/oauth/callback. Once tokens are stored, GET /integrations/quickbooks/connection/status tells you whether the link is live, and POST /integrations/quickbooks/connection/refresh renews tokens before they expire. To drop the connection, use DELETE /integrations/quickbooks/oauth/disconnect.

Map before you sync

Syncing fails on records the provider can't place, so configure mappings first. The generic GET /integrations/quickbooks/mappings and POST /integrations/quickbooks/mappings handle data mappings by ID; dedicated endpoints cover the common cases — accounts via PUT /integrations/quickbooks/accounts/mappings, tax codes via PUT /integrations/quickbooks/tax-codes/mappings, and customers via GET /integrations/quickbooks/customers/mappings.

Run and watch syncs

Kick off a sync with POST /integrations/quickbooks/sync/full or POST /integrations/quickbooks/sync/bulk, then poll GET /integrations/quickbooks/sync/status/{sync_id}. Cancel a running job at POST /integrations/quickbooks/sync/{sync_id}/cancel or replay a failed one at POST /integrations/quickbooks/sync/{sync_id}/retry. Connection health and the diagnostics check at POST /integrations/quickbooks/diagnostics are worth wiring into your own monitoring. For everything QuickBooks-specific — the chart of accounts, items, terms, invoice and payment sync — see the QuickBooks API.

Endpoints

Every endpoint links through to its full parameters, request and response schemas, and code samples.

GET/api/v1/integrations/quickbooks/accountsAlgaPSAGet QuickBooks chart of accountsGET/api/v1/integrations/quickbooks/accounts/mappingsAlgaPSAList account mappingsPUT/api/v1/integrations/quickbooks/accounts/mappingsAlgaPSAConfigure account mappingsPOST/api/v1/integrations/quickbooks/connection/refreshAlgaPSARefresh QuickBooks connection tokensGET/api/v1/integrations/quickbooks/connection/statusAlgaPSAGet QuickBooks connection statusPOST/api/v1/integrations/quickbooks/connection/testAlgaPSARun QuickBooks connection testGET/api/v1/integrations/quickbooks/customers/mappingsAlgaPSAList customer mappingsDELETE/api/v1/integrations/quickbooks/customers/mappings/{mapping_id}AlgaPSADelete customer mappingPOST/api/v1/integrations/quickbooks/customers/syncAlgaPSASync customersPOST/api/v1/integrations/quickbooks/diagnosticsAlgaPSARun QuickBooks diagnosticsGET/api/v1/integrations/quickbooks/healthAlgaPSAGet integration healthGET/api/v1/integrations/quickbooks/health/configAlgaPSAGet health monitoring configPUT/api/v1/integrations/quickbooks/health/configAlgaPSAUpdate health monitoring configPOST/api/v1/integrations/quickbooks/invoices/exportAlgaPSAExport invoices to QuickBooksPOST/api/v1/integrations/quickbooks/invoices/importAlgaPSAImport invoices from QuickBooksGET/api/v1/integrations/quickbooks/itemsAlgaPSAList QuickBooks itemsGET/api/v1/integrations/quickbooks/mappingsAlgaPSAList data mappingsPOST/api/v1/integrations/quickbooks/mappingsAlgaPSACreate data mappingGET/api/v1/integrations/quickbooks/mappings/{mapping_id}AlgaPSAGet data mapping by idPUT/api/v1/integrations/quickbooks/mappings/{mapping_id}AlgaPSAUpdate data mappingDELETE/api/v1/integrations/quickbooks/mappings/{mapping_id}AlgaPSADelete data mappingPOST/api/v1/integrations/quickbooks/oauth/callbackAlgaPSAHandle QuickBooks OAuth callback payloadDELETE/api/v1/integrations/quickbooks/oauth/disconnectAlgaPSADisconnect QuickBooks OAuthPOST/api/v1/integrations/quickbooks/oauth/initiateAlgaPSAInitiate QuickBooks OAuth flowGET/api/v1/integrations/quickbooks/payment-methodsAlgaPSAList QuickBooks payment methodsPOST/api/v1/integrations/quickbooks/payments/syncAlgaPSASync paymentsPOST/api/v1/integrations/quickbooks/sync/{sync_id}/cancelAlgaPSACancel sync operationPOST/api/v1/integrations/quickbooks/sync/{sync_id}/retryAlgaPSARetry sync operationPOST/api/v1/integrations/quickbooks/sync/bulkAlgaPSARun bulk QuickBooks syncPOST/api/v1/integrations/quickbooks/sync/fullAlgaPSARun full QuickBooks syncGET/api/v1/integrations/quickbooks/sync/historyAlgaPSAList sync historyGET/api/v1/integrations/quickbooks/sync/statusAlgaPSAGet current sync statusGET/api/v1/integrations/quickbooks/sync/status/{sync_id}AlgaPSAGet sync status by idGET/api/v1/integrations/quickbooks/tax-codesAlgaPSAList QuickBooks tax codesGET/api/v1/integrations/quickbooks/tax-codes/mappingsAlgaPSAList tax mappingsPUT/api/v1/integrations/quickbooks/tax-codes/mappingsAlgaPSAConfigure tax mappingsGET/api/v1/integrations/quickbooks/termsAlgaPSAList QuickBooks terms