JAI CRM
Home Documentation API Accounting & finance endpoints

Accounting & finance endpoints

87 endpoints: Dashboard, Reports, Payments, GST and more.

Every endpoint in Accounting & finance: 87 operations across 14 resources. Each one takes the same API key and returns the same error shapes as the rest of the API; see Authentication and Errors and limits.

Every path below is relative to https://app.jaicrm.ai. A key only reaches what it was granted when it was created, an endpoint you cannot use answers 403 rather than hiding.

Banks

GET/api/finance/banks

List banks

curl -X GET https://app.jaicrm.ai/api/finance/banks 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/banks/{id}

Read one bank

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/banks/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/banks/{id}/reconcile

List reconcile

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/banks/{id}/statement

List statement

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/banks/RECORD_ID/statement 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/banks/transfers

List transfers

curl -X GET https://app.jaicrm.ai/api/finance/banks/transfers 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks

Create a bank

curl -X POST https://app.jaicrm.ai/api/finance/banks 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/reconcile/{lineId}/ignore

Create an ignore

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
lineIdstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile/RECORD_ID/ignore 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/reconcile/{lineId}/match

Create a match

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
lineIdstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile/RECORD_ID/match 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/reconcile/{lineId}/record

Create a record

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
lineIdstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile/RECORD_ID/record 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/reconcile/{lineId}/restore

Create a restore

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
lineIdstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile/RECORD_ID/restore 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/reconcile/{lineId}/unmatch

Create an unmatch

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
lineIdstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/reconcile/RECORD_ID/unmatch 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/{id}/statement/import

Create an import

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/banks/RECORD_ID/statement/import 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/banks/transfers

Create a transfer

curl -X POST https://app.jaicrm.ai/api/finance/banks/transfers 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/banks/{id}

Change a bank

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/banks/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/banks/{id}

Delete a bank

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/banks/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/banks/{id}/statement/batches/{batchId}

Delete a batche

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
batchIdstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/banks/RECORD_ID/statement/batches/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/banks/transfers/{id}

Delete a transfer

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/banks/transfers/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

Expenses

GET/api/finance/expenses

List expenses

curl -X GET https://app.jaicrm.ai/api/finance/expenses 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/expenses/{id}

Read one expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/expenses/export

List export

curl -X GET https://app.jaicrm.ai/api/finance/expenses/export 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/expenses/export.csv

List export.csv

curl -X GET https://app.jaicrm.ai/api/finance/expenses/export.csv 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/expenses/kanban

List kanban

curl -X GET https://app.jaicrm.ai/api/finance/expenses/kanban 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/expenses/pivot

List pivot

curl -X GET https://app.jaicrm.ai/api/finance/expenses/pivot 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/expenses

Create an expense

curl -X POST https://app.jaicrm.ai/api/finance/expenses 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/expenses/{id}/approve

Create an approve

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/expenses/RECORD_ID/approve 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/expenses/{id}/payments

Create a payment

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/expenses/RECORD_ID/payments 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/expenses/bulk/delete

Create a delete

curl -X POST https://app.jaicrm.ai/api/finance/expenses/bulk/delete 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/expenses/bulk/update

Create an update

curl -X POST https://app.jaicrm.ai/api/finance/expenses/bulk/update 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/expenses/{id}

Change an expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/expenses/{id}

Delete an expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/expenses/{id}/payments/{paymentId}

Delete a payment

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
paymentIdstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/expenses/RECORD_ID/payments/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

Employees

GET/api/finance/employees

List employees

curl -X GET https://app.jaicrm.ai/api/finance/employees 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/employees/{id}

Read one employee

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/employees/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/employees/export

List export

curl -X GET https://app.jaicrm.ai/api/finance/employees/export 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/employees/export.csv

List export.csv

curl -X GET https://app.jaicrm.ai/api/finance/employees/export.csv 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/employees/kanban

List kanban

curl -X GET https://app.jaicrm.ai/api/finance/employees/kanban 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/employees/pivot

List pivot

curl -X GET https://app.jaicrm.ai/api/finance/employees/pivot 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/employees

Create an employee

curl -X POST https://app.jaicrm.ai/api/finance/employees 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/employees/bulk/delete

Create a delete

curl -X POST https://app.jaicrm.ai/api/finance/employees/bulk/delete 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/employees/import

Create an import

curl -X POST https://app.jaicrm.ai/api/finance/employees/import 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/employees/{id}

Change an employee

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/employees/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/employees/{id}

Delete an employee

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/employees/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

TDS

GET/api/finance/tds

List tds

curl -X GET https://app.jaicrm.ai/api/finance/tds 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/tds/challans

List challans

curl -X GET https://app.jaicrm.ai/api/finance/tds/challans 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/tds/sections

List sections

curl -X GET https://app.jaicrm.ai/api/finance/tds/sections 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/tds

Create a td

curl -X POST https://app.jaicrm.ai/api/finance/tds 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/tds/challans

Create a challan

curl -X POST https://app.jaicrm.ai/api/finance/tds/challans 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/tds/sections

Create a section

curl -X POST https://app.jaicrm.ai/api/finance/tds/sections 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/tds/{id}

Change a td

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/tds/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/tds/{id}

Delete a td

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/tds/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/tds/challans/{id}

Delete a challan

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/tds/challans/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/tds/sections/{id}

Delete a section

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/tds/sections/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

GST

GET/api/finance/gst/gstr1

List gstr1

curl -X GET https://app.jaicrm.ai/api/finance/gst/gstr1 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/gst/gstr3b

List gstr3b

curl -X GET https://app.jaicrm.ai/api/finance/gst/gstr3b 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/gst/returns

List returns

curl -X GET https://app.jaicrm.ai/api/finance/gst/returns 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/gst/returns/{id}

Read one return

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/gst/returns/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/gst/returns/periods

List periods

curl -X GET https://app.jaicrm.ai/api/finance/gst/returns/periods 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/gst/summary

Read a summary for accounting

curl -X GET https://app.jaicrm.ai/api/finance/gst/summary 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/gst/returns

Create a return

curl -X POST https://app.jaicrm.ai/api/finance/gst/returns 
  -H 'Authorization: Bearer YOUR_API_KEY'

Payroll

GET/api/finance/payroll

List payroll

curl -X GET https://app.jaicrm.ai/api/finance/payroll 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/payroll/{id}

Read one payroll

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/payroll/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/payroll

Create a payroll

curl -X POST https://app.jaicrm.ai/api/finance/payroll 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/payroll/{id}/pay

Create a pay

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/payroll/RECORD_ID/pay 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/payroll/{id}/unpay

Create an unpay

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/payroll/RECORD_ID/unpay 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/payroll/preview

Create a preview

curl -X POST https://app.jaicrm.ai/api/finance/payroll/preview 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/payroll/{id}

Delete a payroll

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/payroll/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

Recurring expenses

GET/api/finance/recurring-expenses

List recurring expenses

curl -X GET https://app.jaicrm.ai/api/finance/recurring-expenses 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/recurring-expenses/{id}

Read one recurring expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/recurring-expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/recurring-expenses

Create a recurring expense

curl -X POST https://app.jaicrm.ai/api/finance/recurring-expenses 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/recurring-expenses/{id}/{action}

Act on a recurring expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
actionstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/recurring-expenses/RECORD_ID/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/recurring-expenses/{id}/run

Create a run

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X POST https://app.jaicrm.ai/api/finance/recurring-expenses/RECORD_ID/run 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/recurring-expenses/{id}

Change a recurring expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/recurring-expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/recurring-expenses/{id}

Delete a recurring expense

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/recurring-expenses/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

Categories

GET/api/finance/categories

List categories

curl -X GET https://app.jaicrm.ai/api/finance/categories 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/categories/{id}

Read one category

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X GET https://app.jaicrm.ai/api/finance/categories/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

POST/api/finance/categories

Create a category

curl -X POST https://app.jaicrm.ai/api/finance/categories 
  -H 'Authorization: Bearer YOUR_API_KEY'

PATCH/api/finance/categories/{id}

Change a category

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X PATCH https://app.jaicrm.ai/api/finance/categories/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

DELETE/api/finance/categories/{id}

Delete a category

ParameterTypeRequiredNotes
idstringRequiredThe record’s id.
curl -X DELETE https://app.jaicrm.ai/api/finance/categories/RECORD_ID 
  -H 'Authorization: Bearer YOUR_API_KEY'

Reports

GET/api/finance/reports/ageing

Run the ageing report

curl -X GET https://app.jaicrm.ai/api/finance/reports/ageing 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/reports/balance-sheet

Run the balance sheet report

curl -X GET https://app.jaicrm.ai/api/finance/reports/balance-sheet 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/reports/cash-flow

Run the cash flow report

curl -X GET https://app.jaicrm.ai/api/finance/reports/cash-flow 
  -H 'Authorization: Bearer YOUR_API_KEY'

GET/api/finance/reports/profit-and-loss

Run the profit and loss report

curl -X GET https://app.jaicrm.ai/api/finance/reports/profit-and-loss 
  -H 'Authorization: Bearer YOUR_API_KEY'

Dashboard

GET/api/finance/dashboard

Read the accounting dashboard

curl -X GET https://app.jaicrm.ai/api/finance/dashboard 
  -H 'Authorization: Bearer YOUR_API_KEY'

Payments

GET/api/finance/payments

List payments

curl -X GET https://app.jaicrm.ai/api/finance/payments 
  -H 'Authorization: Bearer YOUR_API_KEY'

Payables

GET/api/finance/payables

List payables

curl -X GET https://app.jaicrm.ai/api/finance/payables 
  -H 'Authorization: Bearer YOUR_API_KEY'

Exchange rate

GET/api/finance/exchange-rate

List exchange rate

curl -X GET https://app.jaicrm.ai/api/finance/exchange-rate 
  -H 'Authorization: Bearer YOUR_API_KEY'

Finance

GET/api/finance/

List finance

curl -X GET https://app.jaicrm.ai/api/finance/ 
  -H 'Authorization: Bearer YOUR_API_KEY'

Something missing or wrong here? Tell us. A question that needed asking usually means a page that needed writing.