Admin — accounting integrations
9 endpoints in this group. All paths are prefixed with /api/v1.
Endpoints in this group#
GET /api/v1/admin/accounting/connections— List ConnectionsPOST /api/v1/admin/accounting/connections/authorize— Start OauthPOST /api/v1/admin/accounting/connections/callback— Oauth CallbackDELETE /api/v1/admin/accounting/connections/{connection_id}— DisconnectPATCH /api/v1/admin/accounting/connections/{connection_id}/config— Update Connection ConfigPOST /api/v1/admin/accounting/connections/{connection_id}/sync— Sync Single InvoicePOST /api/v1/admin/accounting/connections/{connection_id}/sync-all— Sync All InvoicesGET /api/v1/admin/accounting/connections/{connection_id}/sync-log— List Sync LogGET /api/v1/admin/accounting/plugins— List Plugins
GET /api/v1/admin/accounting/connections — List Connections {#get-api-v1-admin-accounting-connections}#
List accounting connections, optionally filtered by partner.
Parameters:
partner_id(query, string, optional)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_list_AccountingConnectionResponse__— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/accounting/connections/authorize — Start Oauth {#post-api-v1-admin-accounting-connections-authorize}#
Start OAuth2 flow for an accounting plugin. Returns the authorization URL.
Parameters:
authorization(header, string, optional)
Body: AccountingConnectRequest — {plugin_slug, redirect_uri}
Responses:
200— Successful Response. Returns:ApiResponse_dict_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/accounting/connections/callback — Oauth Callback {#post-api-v1-admin-accounting-connections-callback}#
Complete OAuth2 flow: exchange code for tokens and create/update connection.
Parameters:
authorization(header, string, optional)
Body: AccountingCallbackRequest — {plugin_slug, code, redirect_uri}
Responses:
200— Successful Response. Returns:ApiResponse_AccountingConnectionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
DELETE /api/v1/admin/accounting/connections/{connection_id} — Disconnect {#delete-api-v1-admin-accounting-connections-connection-id}#
Disable an accounting connection (soft-delete).
Parameters:
connection_id(path, string, required)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_dict_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
PATCH /api/v1/admin/accounting/connections/{connection_id}/config — Update Connection Config {#patch-api-v1-admin-accounting-connections-connection-id-config}#
Update plugin-specific config on a connection (e.g. default accounts).
Parameters:
connection_id(path, string, required)authorization(header, string, optional)
Body: AccountingConnectionConfigRequest — {config}
Responses:
200— Successful Response. Returns:ApiResponse_AccountingConnectionResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/accounting/connections/{connection_id}/sync — Sync Single Invoice {#post-api-v1-admin-accounting-connections-connection-id-sync}#
Sync a single invoice to the accounting system.
Parameters:
connection_id(path, string, required)authorization(header, string, optional)
Body: AccountingSyncRequest — {invoice_id}
Responses:
200— Successful Response. Returns:ApiResponse_AccountingSyncLogResponse_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/accounting/connections/{connection_id}/sync-all — Sync All Invoices {#post-api-v1-admin-accounting-connections-connection-id-sync-all}#
Sync all un-synced finalized invoices for this connection's partner.
Parameters:
connection_id(path, string, required)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_list_AccountingSyncLogResponse__— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
GET /api/v1/admin/accounting/connections/{connection_id}/sync-log — List Sync Log {#get-api-v1-admin-accounting-connections-connection-id-sync-log}#
List sync log entries for a connection.
Parameters:
connection_id(path, string, required)page(query, integer, optional)page_size(query, integer, optional)status(query, string, optional)authorization(header, string, optional)
Responses:
200— Successful Response. Returns:PaginatedResponse_AccountingSyncLogResponse_— {data,pagination,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
GET /api/v1/admin/accounting/plugins — List Plugins {#get-api-v1-admin-accounting-plugins}#
List available accounting system plugins.
Parameters:
authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_list_AccountingPluginInfo__— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}