The integrations surface connects AlgaPSA to outside systems. API-driven integrations live under /integrations/{provider} and follow a common shape: authorize the provider, confirm the connection is healthy, map AlgaPSA records to the provider's, then sync. QuickBooks follows this pattern in full. Hudu (Enterprise Edition) is also supported, but it is configured through the AlgaPSA settings UI rather than the REST API — only a status-check endpoint is exposed programmatically.
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.
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.
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.
Hudu — the IT documentation and password management platform — integrates with AlgaPSA as an Enterprise Edition feature. Connection setup, company mapping, and asset layout mapping are all configured through Settings → Integrations → Hudu in the AlgaPSA UI, not via REST. Once connected, you can check the integration's health programmatically:
curl https://algapsa.com/api/integrations/hudu \
-H "X-API-Key: $ALGA_API_KEY"The response returns status, baseUrl, connectedAt, lastSyncedAt, and passwordAccess (whether the Hudu API key has access to password endpoints). This endpoint requires the system_settings read permission.
Every endpoint links through to its full parameters, request and response schemas, and code samples.
GET/api/integrations/qbo/callbackAlgaPSAHandle QuickBooks Online OAuth callbackGET/api/integrations/qbo/connectAlgaPSAStart QuickBooks Online OAuth flowGET/api/integrations/qbo/statusAlgaPSAQuickBooks Online status route unavailableGET/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