@nightsquawktech/invoiceninja-mcp-server 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/COMMERCIAL.md +35 -0
  2. package/LICENSE +661 -0
  3. package/README.md +128 -0
  4. package/dist/catalog/endpoint-spec.js +36 -0
  5. package/dist/catalog/endpoints/action_invoice.json +41 -0
  6. package/dist/catalog/endpoints/action_payment.json +41 -0
  7. package/dist/catalog/endpoints/action_purchase_order.json +41 -0
  8. package/dist/catalog/endpoints/action_quote.json +41 -0
  9. package/dist/catalog/endpoints/action_recurring_invoice.json +41 -0
  10. package/dist/catalog/endpoints/action_recurring_quote.json +41 -0
  11. package/dist/catalog/endpoints/bulk_bank_integrations.json +26 -0
  12. package/dist/catalog/endpoints/bulk_bank_transaction_rules.json +26 -0
  13. package/dist/catalog/endpoints/bulk_bank_transactions.json +26 -0
  14. package/dist/catalog/endpoints/bulk_clients.json +46 -0
  15. package/dist/catalog/endpoints/bulk_company_gateways.json +27 -0
  16. package/dist/catalog/endpoints/bulk_credits.json +26 -0
  17. package/dist/catalog/endpoints/bulk_designs.json +27 -0
  18. package/dist/catalog/endpoints/bulk_expense_categorys.json +27 -0
  19. package/dist/catalog/endpoints/bulk_expenses.json +27 -0
  20. package/dist/catalog/endpoints/bulk_group_settings.json +26 -0
  21. package/dist/catalog/endpoints/bulk_invoices.json +44 -0
  22. package/dist/catalog/endpoints/bulk_locations.json +40 -0
  23. package/dist/catalog/endpoints/bulk_payment_terms.json +27 -0
  24. package/dist/catalog/endpoints/bulk_payments.json +27 -0
  25. package/dist/catalog/endpoints/bulk_products.json +46 -0
  26. package/dist/catalog/endpoints/bulk_projects.json +27 -0
  27. package/dist/catalog/endpoints/bulk_purchase_orderss.json +26 -0
  28. package/dist/catalog/endpoints/bulk_quotes.json +39 -0
  29. package/dist/catalog/endpoints/bulk_recurring_expenses.json +27 -0
  30. package/dist/catalog/endpoints/bulk_recurring_invoices.json +39 -0
  31. package/dist/catalog/endpoints/bulk_recurring_quotes.json +27 -0
  32. package/dist/catalog/endpoints/bulk_subscriptions.json +27 -0
  33. package/dist/catalog/endpoints/bulk_tags.json +51 -0
  34. package/dist/catalog/endpoints/bulk_task_scheduler_actions.json +27 -0
  35. package/dist/catalog/endpoints/bulk_task_statuss.json +27 -0
  36. package/dist/catalog/endpoints/bulk_tasks.json +27 -0
  37. package/dist/catalog/endpoints/bulk_tax_rates.json +27 -0
  38. package/dist/catalog/endpoints/bulk_tokens.json +27 -0
  39. package/dist/catalog/endpoints/bulk_users.json +27 -0
  40. package/dist/catalog/endpoints/bulk_vendors.json +27 -0
  41. package/dist/catalog/endpoints/bulk_webhooks.json +27 -0
  42. package/dist/catalog/endpoints/client_statement.json +77 -0
  43. package/dist/catalog/endpoints/confirm_apple_purchase.json +23 -0
  44. package/dist/catalog/endpoints/create_task_scheduler.json +81 -0
  45. package/dist/catalog/endpoints/delete_bank_integration.json +32 -0
  46. package/dist/catalog/endpoints/delete_bank_transaction.json +32 -0
  47. package/dist/catalog/endpoints/delete_bank_transaction_rule.json +32 -0
  48. package/dist/catalog/endpoints/delete_client.json +38 -0
  49. package/dist/catalog/endpoints/delete_client_gateway_token.json +32 -0
  50. package/dist/catalog/endpoints/delete_company.json +32 -0
  51. package/dist/catalog/endpoints/delete_company_gateway.json +32 -0
  52. package/dist/catalog/endpoints/delete_credit.json +32 -0
  53. package/dist/catalog/endpoints/delete_design.json +32 -0
  54. package/dist/catalog/endpoints/delete_expense.json +32 -0
  55. package/dist/catalog/endpoints/delete_expense_category.json +24 -0
  56. package/dist/catalog/endpoints/delete_group_setting.json +32 -0
  57. package/dist/catalog/endpoints/delete_invoice.json +32 -0
  58. package/dist/catalog/endpoints/delete_location.json +24 -0
  59. package/dist/catalog/endpoints/delete_payment.json +32 -0
  60. package/dist/catalog/endpoints/delete_payment_term.json +32 -0
  61. package/dist/catalog/endpoints/delete_product.json +32 -0
  62. package/dist/catalog/endpoints/delete_project.json +32 -0
  63. package/dist/catalog/endpoints/delete_purchase_order.json +32 -0
  64. package/dist/catalog/endpoints/delete_quote.json +32 -0
  65. package/dist/catalog/endpoints/delete_recurring_expense.json +32 -0
  66. package/dist/catalog/endpoints/delete_recurring_invoice.json +32 -0
  67. package/dist/catalog/endpoints/delete_recurring_quote.json +32 -0
  68. package/dist/catalog/endpoints/delete_settings_passkey.json +22 -0
  69. package/dist/catalog/endpoints/delete_subscription.json +32 -0
  70. package/dist/catalog/endpoints/delete_tag.json +24 -0
  71. package/dist/catalog/endpoints/delete_task.json +32 -0
  72. package/dist/catalog/endpoints/delete_task_status.json +32 -0
  73. package/dist/catalog/endpoints/delete_tax_rate.json +24 -0
  74. package/dist/catalog/endpoints/delete_token.json +32 -0
  75. package/dist/catalog/endpoints/delete_user.json +40 -0
  76. package/dist/catalog/endpoints/delete_vendor.json +32 -0
  77. package/dist/catalog/endpoints/delete_webhook.json +32 -0
  78. package/dist/catalog/endpoints/destroy_task_scheduler.json +24 -0
  79. package/dist/catalog/endpoints/detach_user.json +32 -0
  80. package/dist/catalog/endpoints/download_credit.json +32 -0
  81. package/dist/catalog/endpoints/download_invoice_by_invitation.json +32 -0
  82. package/dist/catalog/endpoints/download_purchase_order.json +32 -0
  83. package/dist/catalog/endpoints/download_quote.json +32 -0
  84. package/dist/catalog/endpoints/download_recurring_invoice.json +32 -0
  85. package/dist/catalog/endpoints/edit_bank_integration.json +33 -0
  86. package/dist/catalog/endpoints/edit_bank_transaction.json +33 -0
  87. package/dist/catalog/endpoints/edit_bank_transaction_rule.json +33 -0
  88. package/dist/catalog/endpoints/edit_client.json +39 -0
  89. package/dist/catalog/endpoints/edit_client_gateway_token.json +33 -0
  90. package/dist/catalog/endpoints/edit_company.json +33 -0
  91. package/dist/catalog/endpoints/edit_company_gateway.json +33 -0
  92. package/dist/catalog/endpoints/edit_credit.json +33 -0
  93. package/dist/catalog/endpoints/edit_design.json +33 -0
  94. package/dist/catalog/endpoints/edit_expense.json +33 -0
  95. package/dist/catalog/endpoints/edit_expense_category.json +25 -0
  96. package/dist/catalog/endpoints/edit_group_setting.json +33 -0
  97. package/dist/catalog/endpoints/edit_invoice.json +33 -0
  98. package/dist/catalog/endpoints/edit_payment.json +33 -0
  99. package/dist/catalog/endpoints/edit_payment_terms.json +33 -0
  100. package/dist/catalog/endpoints/edit_product.json +33 -0
  101. package/dist/catalog/endpoints/edit_project.json +33 -0
  102. package/dist/catalog/endpoints/edit_purchase_order.json +33 -0
  103. package/dist/catalog/endpoints/edit_quote.json +33 -0
  104. package/dist/catalog/endpoints/edit_recurring_expense.json +33 -0
  105. package/dist/catalog/endpoints/edit_recurring_invoice.json +33 -0
  106. package/dist/catalog/endpoints/edit_recurring_quote.json +33 -0
  107. package/dist/catalog/endpoints/edit_subscription.json +33 -0
  108. package/dist/catalog/endpoints/edit_tag.json +24 -0
  109. package/dist/catalog/endpoints/edit_task.json +33 -0
  110. package/dist/catalog/endpoints/edit_task_statuss.json +33 -0
  111. package/dist/catalog/endpoints/edit_tax_rate.json +25 -0
  112. package/dist/catalog/endpoints/edit_token.json +33 -0
  113. package/dist/catalog/endpoints/edit_user.json +33 -0
  114. package/dist/catalog/endpoints/edit_vendor.json +33 -0
  115. package/dist/catalog/endpoints/edit_webhook.json +33 -0
  116. package/dist/catalog/endpoints/get_account_transactions.json +24 -0
  117. package/dist/catalog/endpoints/get_activities.json +44 -0
  118. package/dist/catalog/endpoints/get_activity_historical_entity_pdf.json +31 -0
  119. package/dist/catalog/endpoints/get_activity_report.json +49 -0
  120. package/dist/catalog/endpoints/get_ardetail_report.json +49 -0
  121. package/dist/catalog/endpoints/get_arsummary_report.json +49 -0
  122. package/dist/catalog/endpoints/get_bank_integrations.json +61 -0
  123. package/dist/catalog/endpoints/get_bank_integrations_create.json +24 -0
  124. package/dist/catalog/endpoints/get_bank_transaction_rules.json +62 -0
  125. package/dist/catalog/endpoints/get_bank_transaction_rules_create.json +24 -0
  126. package/dist/catalog/endpoints/get_bank_transactions.json +63 -0
  127. package/dist/catalog/endpoints/get_bank_transactions_create.json +24 -0
  128. package/dist/catalog/endpoints/get_chart_calculated_fields.json +18 -0
  129. package/dist/catalog/endpoints/get_chart_summary_v2.json +18 -0
  130. package/dist/catalog/endpoints/get_chart_totals.json +38 -0
  131. package/dist/catalog/endpoints/get_chart_totals_v2.json +18 -0
  132. package/dist/catalog/endpoints/get_claim_license.json +32 -0
  133. package/dist/catalog/endpoints/get_client_balance_report.json +49 -0
  134. package/dist/catalog/endpoints/get_client_contact_report.json +49 -0
  135. package/dist/catalog/endpoints/get_client_gateway_tokens.json +45 -0
  136. package/dist/catalog/endpoints/get_client_gateway_tokens_create.json +24 -0
  137. package/dist/catalog/endpoints/get_client_report.json +64 -0
  138. package/dist/catalog/endpoints/get_client_sales_report.json +49 -0
  139. package/dist/catalog/endpoints/get_clients.json +152 -0
  140. package/dist/catalog/endpoints/get_clients_create.json +30 -0
  141. package/dist/catalog/endpoints/get_companies.json +38 -0
  142. package/dist/catalog/endpoints/get_companies_create.json +24 -0
  143. package/dist/catalog/endpoints/get_company_gateways.json +47 -0
  144. package/dist/catalog/endpoints/get_company_gateways_create.json +24 -0
  145. package/dist/catalog/endpoints/get_company_ledger.json +24 -0
  146. package/dist/catalog/endpoints/get_contact_report.json +64 -0
  147. package/dist/catalog/endpoints/get_credit_report.json +49 -0
  148. package/dist/catalog/endpoints/get_credits.json +55 -0
  149. package/dist/catalog/endpoints/get_credits_create.json +24 -0
  150. package/dist/catalog/endpoints/get_designs.json +54 -0
  151. package/dist/catalog/endpoints/get_designs_create.json +24 -0
  152. package/dist/catalog/endpoints/get_document_report.json +64 -0
  153. package/dist/catalog/endpoints/get_documents.json +54 -0
  154. package/dist/catalog/endpoints/get_expense_category_create.json +16 -0
  155. package/dist/catalog/endpoints/get_expense_categorys.json +47 -0
  156. package/dist/catalog/endpoints/get_expense_report.json +49 -0
  157. package/dist/catalog/endpoints/get_expenses.json +55 -0
  158. package/dist/catalog/endpoints/get_expenses_create.json +24 -0
  159. package/dist/catalog/endpoints/get_export.json +15 -0
  160. package/dist/catalog/endpoints/get_export_preview.json +25 -0
  161. package/dist/catalog/endpoints/get_group_settings.json +47 -0
  162. package/dist/catalog/endpoints/get_group_settings_create.json +24 -0
  163. package/dist/catalog/endpoints/get_health_check.json +15 -0
  164. package/dist/catalog/endpoints/get_import_json.json +15 -0
  165. package/dist/catalog/endpoints/get_invoice_create.json +16 -0
  166. package/dist/catalog/endpoints/get_invoice_delivery_note.json +32 -0
  167. package/dist/catalog/endpoints/get_invoice_item_report.json +64 -0
  168. package/dist/catalog/endpoints/get_invoice_report.json +64 -0
  169. package/dist/catalog/endpoints/get_invoices.json +174 -0
  170. package/dist/catalog/endpoints/get_last_error.json +15 -0
  171. package/dist/catalog/endpoints/get_locations.json +54 -0
  172. package/dist/catalog/endpoints/get_locations_create.json +24 -0
  173. package/dist/catalog/endpoints/get_logout.json +30 -0
  174. package/dist/catalog/endpoints/get_payment_report.json +64 -0
  175. package/dist/catalog/endpoints/get_payment_terms.json +54 -0
  176. package/dist/catalog/endpoints/get_payment_terms_create.json +24 -0
  177. package/dist/catalog/endpoints/get_payments.json +118 -0
  178. package/dist/catalog/endpoints/get_payments_create.json +24 -0
  179. package/dist/catalog/endpoints/get_ping.json +15 -0
  180. package/dist/catalog/endpoints/get_preview.json +15 -0
  181. package/dist/catalog/endpoints/get_preview_purchase_order.json +15 -0
  182. package/dist/catalog/endpoints/get_product_report.json +64 -0
  183. package/dist/catalog/endpoints/get_product_sales_report.json +64 -0
  184. package/dist/catalog/endpoints/get_products.json +118 -0
  185. package/dist/catalog/endpoints/get_products_create.json +24 -0
  186. package/dist/catalog/endpoints/get_profit_loss_report.json +64 -0
  187. package/dist/catalog/endpoints/get_project_report.json +49 -0
  188. package/dist/catalog/endpoints/get_projects.json +55 -0
  189. package/dist/catalog/endpoints/get_projects_create.json +24 -0
  190. package/dist/catalog/endpoints/get_purchase_order_create.json +24 -0
  191. package/dist/catalog/endpoints/get_purchase_orders.json +55 -0
  192. package/dist/catalog/endpoints/get_quote_item_report.json +64 -0
  193. package/dist/catalog/endpoints/get_quote_report.json +64 -0
  194. package/dist/catalog/endpoints/get_quotes.json +125 -0
  195. package/dist/catalog/endpoints/get_quotes_create.json +24 -0
  196. package/dist/catalog/endpoints/get_recurring_expenses.json +54 -0
  197. package/dist/catalog/endpoints/get_recurring_expenses_create.json +24 -0
  198. package/dist/catalog/endpoints/get_recurring_invoice_report.json +64 -0
  199. package/dist/catalog/endpoints/get_recurring_invoices.json +139 -0
  200. package/dist/catalog/endpoints/get_recurring_invoices_create.json +24 -0
  201. package/dist/catalog/endpoints/get_recurring_quotes.json +47 -0
  202. package/dist/catalog/endpoints/get_recurring_quotes_create.json +24 -0
  203. package/dist/catalog/endpoints/get_refresh_accounts.json +24 -0
  204. package/dist/catalog/endpoints/get_remove_account.json +24 -0
  205. package/dist/catalog/endpoints/get_report_preview.json +25 -0
  206. package/dist/catalog/endpoints/get_scheduler.json +15 -0
  207. package/dist/catalog/endpoints/get_settings_passkeys.json +15 -0
  208. package/dist/catalog/endpoints/get_show_template.json +47 -0
  209. package/dist/catalog/endpoints/get_statics.json +23 -0
  210. package/dist/catalog/endpoints/get_subscriptions.json +47 -0
  211. package/dist/catalog/endpoints/get_subscriptions_create.json +24 -0
  212. package/dist/catalog/endpoints/get_system_logs.json +47 -0
  213. package/dist/catalog/endpoints/get_tags.json +63 -0
  214. package/dist/catalog/endpoints/get_tags_create.json +16 -0
  215. package/dist/catalog/endpoints/get_task_report.json +64 -0
  216. package/dist/catalog/endpoints/get_task_scheduler.json +38 -0
  217. package/dist/catalog/endpoints/get_task_schedulers.json +15 -0
  218. package/dist/catalog/endpoints/get_task_statuses.json +54 -0
  219. package/dist/catalog/endpoints/get_task_statuss_create.json +24 -0
  220. package/dist/catalog/endpoints/get_tasks.json +55 -0
  221. package/dist/catalog/endpoints/get_tasks_create.json +24 -0
  222. package/dist/catalog/endpoints/get_tax_period_report.json +49 -0
  223. package/dist/catalog/endpoints/get_tax_rate_create.json +16 -0
  224. package/dist/catalog/endpoints/get_tax_rates.json +47 -0
  225. package/dist/catalog/endpoints/get_tax_summary_report.json +49 -0
  226. package/dist/catalog/endpoints/get_template_preview.json +25 -0
  227. package/dist/catalog/endpoints/get_tokens.json +54 -0
  228. package/dist/catalog/endpoints/get_tokens_create.json +24 -0
  229. package/dist/catalog/endpoints/get_user_sales_report.json +49 -0
  230. package/dist/catalog/endpoints/get_users.json +48 -0
  231. package/dist/catalog/endpoints/get_users_create.json +24 -0
  232. package/dist/catalog/endpoints/get_vendors.json +55 -0
  233. package/dist/catalog/endpoints/get_vendors_create.json +24 -0
  234. package/dist/catalog/endpoints/get_webcron.json +15 -0
  235. package/dist/catalog/endpoints/get_webhooks.json +54 -0
  236. package/dist/catalog/endpoints/get_webhooks_create.json +24 -0
  237. package/dist/catalog/endpoints/invite_user.json +32 -0
  238. package/dist/catalog/endpoints/invite_user_reconfirm.json +32 -0
  239. package/dist/catalog/endpoints/match_bank_transactions.json +26 -0
  240. package/dist/catalog/endpoints/merge_client.json +54 -0
  241. package/dist/catalog/endpoints/post_activities_entity.json +18 -0
  242. package/dist/catalog/endpoints/post_activities_notes.json +18 -0
  243. package/dist/catalog/endpoints/post_connected_account.json +38 -0
  244. package/dist/catalog/endpoints/post_import.json +51 -0
  245. package/dist/catalog/endpoints/post_login.json +79 -0
  246. package/dist/catalog/endpoints/post_one_time_token.json +15 -0
  247. package/dist/catalog/endpoints/post_passkey_login_options.json +24 -0
  248. package/dist/catalog/endpoints/post_purge_company.json +24 -0
  249. package/dist/catalog/endpoints/post_purge_company_save_settings.json +24 -0
  250. package/dist/catalog/endpoints/post_refresh.json +46 -0
  251. package/dist/catalog/endpoints/post_search.json +18 -0
  252. package/dist/catalog/endpoints/post_settings_passkeys.json +34 -0
  253. package/dist/catalog/endpoints/post_settings_passkeys_options.json +15 -0
  254. package/dist/catalog/endpoints/post_start_migration.json +31 -0
  255. package/dist/catalog/endpoints/postmark_webhook.json +24 -0
  256. package/dist/catalog/endpoints/preimport.json +69 -0
  257. package/dist/catalog/endpoints/process_apple_webhook.json +23 -0
  258. package/dist/catalog/endpoints/purge_client.json +32 -0
  259. package/dist/catalog/endpoints/reactivate_email.json +38 -0
  260. package/dist/catalog/endpoints/self_update.json +31 -0
  261. package/dist/catalog/endpoints/self_update_check_version.json +15 -0
  262. package/dist/catalog/endpoints/send_email_template.json +73 -0
  263. package/dist/catalog/endpoints/set_default_company.json +33 -0
  264. package/dist/catalog/endpoints/show_bank_integration.json +33 -0
  265. package/dist/catalog/endpoints/show_bank_transaction.json +33 -0
  266. package/dist/catalog/endpoints/show_bank_transaction_rule.json +33 -0
  267. package/dist/catalog/endpoints/show_client.json +39 -0
  268. package/dist/catalog/endpoints/show_client_gateway_token.json +33 -0
  269. package/dist/catalog/endpoints/show_company.json +33 -0
  270. package/dist/catalog/endpoints/show_company_gateway.json +33 -0
  271. package/dist/catalog/endpoints/show_credit.json +33 -0
  272. package/dist/catalog/endpoints/show_current_company.json +24 -0
  273. package/dist/catalog/endpoints/show_design.json +33 -0
  274. package/dist/catalog/endpoints/show_expense.json +33 -0
  275. package/dist/catalog/endpoints/show_expense_category.json +25 -0
  276. package/dist/catalog/endpoints/show_group_setting.json +33 -0
  277. package/dist/catalog/endpoints/show_invoice.json +33 -0
  278. package/dist/catalog/endpoints/show_location.json +33 -0
  279. package/dist/catalog/endpoints/show_payment.json +33 -0
  280. package/dist/catalog/endpoints/show_payment_term.json +33 -0
  281. package/dist/catalog/endpoints/show_product.json +33 -0
  282. package/dist/catalog/endpoints/show_project.json +33 -0
  283. package/dist/catalog/endpoints/show_purchase_order.json +33 -0
  284. package/dist/catalog/endpoints/show_quote.json +33 -0
  285. package/dist/catalog/endpoints/show_recurring_expense.json +33 -0
  286. package/dist/catalog/endpoints/show_recurring_invoice.json +33 -0
  287. package/dist/catalog/endpoints/show_recurring_quote.json +33 -0
  288. package/dist/catalog/endpoints/show_subscription.json +33 -0
  289. package/dist/catalog/endpoints/show_system_logs.json +33 -0
  290. package/dist/catalog/endpoints/show_tag.json +24 -0
  291. package/dist/catalog/endpoints/show_task.json +33 -0
  292. package/dist/catalog/endpoints/show_task_scheduler.json +24 -0
  293. package/dist/catalog/endpoints/show_task_status.json +33 -0
  294. package/dist/catalog/endpoints/show_tax_rate.json +25 -0
  295. package/dist/catalog/endpoints/show_token.json +33 -0
  296. package/dist/catalog/endpoints/show_user.json +33 -0
  297. package/dist/catalog/endpoints/show_vendor.json +33 -0
  298. package/dist/catalog/endpoints/show_webhook.json +33 -0
  299. package/dist/catalog/endpoints/sort_tasks.json +46 -0
  300. package/dist/catalog/endpoints/store_bank_integration.json +24 -0
  301. package/dist/catalog/endpoints/store_bank_transaction.json +24 -0
  302. package/dist/catalog/endpoints/store_bank_transaction_rule.json +24 -0
  303. package/dist/catalog/endpoints/store_client.json +237 -0
  304. package/dist/catalog/endpoints/store_client_gateway_token.json +24 -0
  305. package/dist/catalog/endpoints/store_company.json +24 -0
  306. package/dist/catalog/endpoints/store_company_gateway.json +24 -0
  307. package/dist/catalog/endpoints/store_credit.json +251 -0
  308. package/dist/catalog/endpoints/store_design.json +24 -0
  309. package/dist/catalog/endpoints/store_expense.json +24 -0
  310. package/dist/catalog/endpoints/store_expense_category.json +24 -0
  311. package/dist/catalog/endpoints/store_group_setting.json +24 -0
  312. package/dist/catalog/endpoints/store_invoice.json +257 -0
  313. package/dist/catalog/endpoints/store_location.json +119 -0
  314. package/dist/catalog/endpoints/store_payment.json +140 -0
  315. package/dist/catalog/endpoints/store_payment_term.json +59 -0
  316. package/dist/catalog/endpoints/store_product.json +179 -0
  317. package/dist/catalog/endpoints/store_project.json +113 -0
  318. package/dist/catalog/endpoints/store_purchase_order.json +89 -0
  319. package/dist/catalog/endpoints/store_quote.json +89 -0
  320. package/dist/catalog/endpoints/store_recurring_expense.json +24 -0
  321. package/dist/catalog/endpoints/store_recurring_invoice.json +101 -0
  322. package/dist/catalog/endpoints/store_recurring_quote.json +24 -0
  323. package/dist/catalog/endpoints/store_refund.json +235 -0
  324. package/dist/catalog/endpoints/store_subscription.json +24 -0
  325. package/dist/catalog/endpoints/store_tag.json +43 -0
  326. package/dist/catalog/endpoints/store_task.json +113 -0
  327. package/dist/catalog/endpoints/store_task_status.json +77 -0
  328. package/dist/catalog/endpoints/store_token.json +24 -0
  329. package/dist/catalog/endpoints/store_user.json +24 -0
  330. package/dist/catalog/endpoints/store_vendor.json +131 -0
  331. package/dist/catalog/endpoints/store_webhook.json +24 -0
  332. package/dist/catalog/endpoints/support_message.json +25 -0
  333. package/dist/catalog/endpoints/update_bank_integration.json +33 -0
  334. package/dist/catalog/endpoints/update_bank_transaction.json +33 -0
  335. package/dist/catalog/endpoints/update_bank_transaction_rule.json +33 -0
  336. package/dist/catalog/endpoints/update_client.json +246 -0
  337. package/dist/catalog/endpoints/update_client_gateway_token.json +33 -0
  338. package/dist/catalog/endpoints/update_client_tax_data.json +38 -0
  339. package/dist/catalog/endpoints/update_company.json +33 -0
  340. package/dist/catalog/endpoints/update_company_gateway.json +33 -0
  341. package/dist/catalog/endpoints/update_company_user.json +16 -0
  342. package/dist/catalog/endpoints/update_credit.json +33 -0
  343. package/dist/catalog/endpoints/update_design.json +33 -0
  344. package/dist/catalog/endpoints/update_expense.json +33 -0
  345. package/dist/catalog/endpoints/update_expense_category.json +25 -0
  346. package/dist/catalog/endpoints/update_group_setting.json +33 -0
  347. package/dist/catalog/endpoints/update_invoice.json +33 -0
  348. package/dist/catalog/endpoints/update_location.json +128 -0
  349. package/dist/catalog/endpoints/update_payment.json +33 -0
  350. package/dist/catalog/endpoints/update_payment_term.json +33 -0
  351. package/dist/catalog/endpoints/update_product.json +188 -0
  352. package/dist/catalog/endpoints/update_project.json +122 -0
  353. package/dist/catalog/endpoints/update_purchase_order.json +98 -0
  354. package/dist/catalog/endpoints/update_quote.json +98 -0
  355. package/dist/catalog/endpoints/update_recurring_expense.json +33 -0
  356. package/dist/catalog/endpoints/update_recurring_invoice.json +33 -0
  357. package/dist/catalog/endpoints/update_recurring_quote.json +33 -0
  358. package/dist/catalog/endpoints/update_subscription.json +33 -0
  359. package/dist/catalog/endpoints/update_tag.json +38 -0
  360. package/dist/catalog/endpoints/update_task.json +122 -0
  361. package/dist/catalog/endpoints/update_task_scheduler.json +90 -0
  362. package/dist/catalog/endpoints/update_task_status.json +33 -0
  363. package/dist/catalog/endpoints/update_tax_rate.json +25 -0
  364. package/dist/catalog/endpoints/update_token.json +33 -0
  365. package/dist/catalog/endpoints/update_user.json +33 -0
  366. package/dist/catalog/endpoints/update_vendor.json +140 -0
  367. package/dist/catalog/endpoints/update_webhook.json +33 -0
  368. package/dist/catalog/endpoints/upload_client.json +54 -0
  369. package/dist/catalog/endpoints/upload_companies.json +47 -0
  370. package/dist/catalog/endpoints/upload_credits.json +47 -0
  371. package/dist/catalog/endpoints/upload_expense.json +47 -0
  372. package/dist/catalog/endpoints/upload_group_setting.json +47 -0
  373. package/dist/catalog/endpoints/upload_invoice_document.json +47 -0
  374. package/dist/catalog/endpoints/upload_payment.json +47 -0
  375. package/dist/catalog/endpoints/upload_product.json +46 -0
  376. package/dist/catalog/endpoints/upload_project.json +47 -0
  377. package/dist/catalog/endpoints/upload_purchase_order.json +47 -0
  378. package/dist/catalog/endpoints/upload_quote.json +47 -0
  379. package/dist/catalog/endpoints/upload_recurring_expense.json +47 -0
  380. package/dist/catalog/endpoints/upload_recurring_invoice.json +47 -0
  381. package/dist/catalog/endpoints/upload_task.json +47 -0
  382. package/dist/catalog/endpoints/upload_vendor.json +47 -0
  383. package/dist/catalog/endpoints/yodlee_refresh_webhook.json +16 -0
  384. package/dist/catalog/index.json +4428 -0
  385. package/dist/clients/invoiceninja-client.js +205 -0
  386. package/dist/helpers/register-endpoint-tools.js +27 -0
  387. package/dist/index.js +8 -0
  388. package/dist/server/invoiceninja-mcp-server.js +18 -0
  389. package/dist/tools/call-endpoint.js +153 -0
  390. package/dist/tools/describe-endpoint.js +60 -0
  391. package/dist/tools/list-endpoints.js +77 -0
  392. package/dist/types/tool-response.js +1 -0
  393. package/package.json +52 -0
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "get_users_create",
3
+ "operationId": "getUsersCreate",
4
+ "method": "GET",
5
+ "path": "/api/v1/users/create",
6
+ "name": "Gets a new blank User object",
7
+ "category": "users",
8
+ "mutating": false,
9
+ "description": "Returns a blank object with default values",
10
+ "whenToUse": "Fetch a blank user with default values; use to pre-populate a new-user form before calling store.",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ }
20
+ ],
21
+ "headerParameters": [],
22
+ "requestBody": null,
23
+ "responseSchema": "User"
24
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "slug": "get_vendors",
3
+ "operationId": "getVendors",
4
+ "method": "GET",
5
+ "path": "/api/v1/vendors",
6
+ "name": "List vendors",
7
+ "category": "vendors",
8
+ "mutating": false,
9
+ "description": "Lists vendors, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the vendors, these are handled by the VendorFilters class which defines the methods available",
10
+ "whenToUse": "List or filter many vendors with search, sort, and pagination; use when browsing or finding vendors rather than fetching one by id.",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ },
20
+ {
21
+ "name": "index",
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Replaces the default response index from data to a user specific string\n\nie.\n\n```html\n ?index=new_index\n```\n\nresponse is wrapped\n\n```json\n {\n 'new_index' : [\n .....\n ]\n }\n```",
25
+ "example": "user"
26
+ },
27
+ {
28
+ "name": "per_page",
29
+ "type": "integer",
30
+ "required": false,
31
+ "description": "The number of records to return for each request, default is 20",
32
+ "example": 20
33
+ },
34
+ {
35
+ "name": "page",
36
+ "type": "integer",
37
+ "required": false,
38
+ "description": "The page number to return for this request (when performing pagination), default is 1",
39
+ "example": 1
40
+ },
41
+ {
42
+ "name": "sort",
43
+ "type": "array",
44
+ "required": false,
45
+ "description": "Order the list by choosing a column and direction. Each value uses the form `column|asc` or `column|desc`.\n\n*Single sort** — for example `sort=name|asc`.\n\n*Multiple sorts** — for example\n`sort[]=id|desc&sort[]=name|asc`.\n\nVendors use vendor table columns and any relationship sorts implemented in `VendorFilters` (such as `client.name` or document counts where applicable). Unsupported keys are ignored.",
46
+ "example": [
47
+ "name|asc",
48
+ "id|desc"
49
+ ]
50
+ }
51
+ ],
52
+ "headerParameters": [],
53
+ "requestBody": null,
54
+ "responseSchema": "Vendor[]"
55
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "get_vendors_create",
3
+ "operationId": "getVendorsCreate",
4
+ "method": "GET",
5
+ "path": "/api/v1/vendors/create",
6
+ "name": "Blank vendor",
7
+ "category": "vendors",
8
+ "mutating": false,
9
+ "description": "Returns a blank vendor with default values",
10
+ "whenToUse": "Fetch a blank vendor with default values; use to prefill a new-record form before calling store_vendor.",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ }
20
+ ],
21
+ "headerParameters": [],
22
+ "requestBody": null,
23
+ "responseSchema": "Vendor"
24
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "slug": "get_webcron",
3
+ "operationId": "getWebcron",
4
+ "method": "GET",
5
+ "path": "/api/v1/webcron",
6
+ "name": "Executes the task scheduler via a webcron service",
7
+ "category": "webcron",
8
+ "mutating": false,
9
+ "description": "Executes the task scheduler via a webcron service",
10
+ "whenToUse": "Call to trigger execution of the task scheduler as a webcron tick, running due scheduled jobs now rather than just reading status.",
11
+ "pathParameters": [],
12
+ "queryParameters": [],
13
+ "headerParameters": [],
14
+ "requestBody": null
15
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "slug": "get_webhooks",
3
+ "operationId": "getWebhooks",
4
+ "method": "GET",
5
+ "path": "/api/v1/webhooks",
6
+ "name": "Gets a list of Webhooks",
7
+ "category": "webhooks",
8
+ "mutating": false,
9
+ "description": "Lists Webhooks, search and filters allow fine grained lists to be generated.\n\n Query parameters can be added to performed more fine grained filtering of the Webhooks, these are handled by the WebhookFilters class which defines the methods available",
10
+ "whenToUse": "List or filter many webhooks with pagination, sorting, and includes when browsing or searching configured webhook subscriptions.",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ },
20
+ {
21
+ "name": "index",
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "Replaces the default response index from data to a user specific string\n\nie.\n\n```html\n ?index=new_index\n```\n\nresponse is wrapped\n\n```json\n {\n 'new_index' : [\n .....\n ]\n }\n```",
25
+ "example": "user"
26
+ },
27
+ {
28
+ "name": "per_page",
29
+ "type": "integer",
30
+ "required": false,
31
+ "description": "The number of records to return for each request, default is 20",
32
+ "example": 20
33
+ },
34
+ {
35
+ "name": "page",
36
+ "type": "integer",
37
+ "required": false,
38
+ "description": "The page number to return for this request (when performing pagination), default is 1",
39
+ "example": 1
40
+ },
41
+ {
42
+ "name": "sort",
43
+ "type": "array",
44
+ "required": false,
45
+ "description": "Order the list by choosing a column and direction. Each value uses the form `column|asc` or `column|desc`.\n\n*Single sort** — for example `sort=created_at|desc`.\n\n*Multiple sorts** — for example\n`sort[]=id|desc&sort[]=created_at|asc`.\n\nOnly `webhooks` table columns apply. Unsupported keys are ignored.",
46
+ "example": [
47
+ "created_at|desc"
48
+ ]
49
+ }
50
+ ],
51
+ "headerParameters": [],
52
+ "requestBody": null,
53
+ "responseSchema": "Webhook[]"
54
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "get_webhooks_create",
3
+ "operationId": "getWebhooksCreate",
4
+ "method": "GET",
5
+ "path": "/api/v1/webhooks/create",
6
+ "name": "Gets a new blank Webhook object",
7
+ "category": "webhooks",
8
+ "mutating": false,
9
+ "description": "Returns a blank object with default values",
10
+ "whenToUse": "Fetch a blank webhook template with default values to prefill a new-webhook form (read-only); use store_webhook to create it.",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ }
20
+ ],
21
+ "headerParameters": [],
22
+ "requestBody": null,
23
+ "responseSchema": "Webhook"
24
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "slug": "invite_user",
3
+ "operationId": "inviteUser",
4
+ "method": "POST",
5
+ "path": "/api/v1/users/{user}/invite",
6
+ "name": "Reconfirm an existing user to a company",
7
+ "category": "users",
8
+ "mutating": true,
9
+ "description": "Reconfirm an existing user from a company",
10
+ "whenToUse": "Send the initial invite to an existing user by id (the /invite endpoint); use for a first-time invitation rather than reconfirm (mutating).",
11
+ "pathParameters": [
12
+ {
13
+ "name": "user",
14
+ "type": "string",
15
+ "required": true,
16
+ "description": "The user hashed_id",
17
+ "format": "string",
18
+ "example": "FD767dfd7"
19
+ }
20
+ ],
21
+ "queryParameters": [
22
+ {
23
+ "name": "include",
24
+ "type": "string",
25
+ "required": false,
26
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
27
+ "example": "first_load"
28
+ }
29
+ ],
30
+ "headerParameters": [],
31
+ "requestBody": null
32
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "slug": "invite_user_reconfirm",
3
+ "operationId": "inviteUserReconfirm",
4
+ "method": "POST",
5
+ "path": "/api/v1/users/{user}/reconfirm",
6
+ "name": "Reconfirm an existing user to a company",
7
+ "category": "users",
8
+ "mutating": true,
9
+ "description": "Reconfirm an existing user from a company",
10
+ "whenToUse": "Resend a confirmation to an existing user by id (the /reconfirm endpoint); use to re-trigger confirmation rather than a fresh invite (mutating).",
11
+ "pathParameters": [
12
+ {
13
+ "name": "user",
14
+ "type": "string",
15
+ "required": true,
16
+ "description": "The user hashed_id",
17
+ "format": "string",
18
+ "example": "FD767dfd7"
19
+ }
20
+ ],
21
+ "queryParameters": [
22
+ {
23
+ "name": "include",
24
+ "type": "string",
25
+ "required": false,
26
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
27
+ "example": "first_load"
28
+ }
29
+ ],
30
+ "headerParameters": [],
31
+ "requestBody": null
32
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "slug": "match_bank_transactions",
3
+ "operationId": "matchBankTransactions",
4
+ "method": "POST",
5
+ "path": "/api/v1/bank_transactions/match",
6
+ "name": "Match transactions",
7
+ "category": "bank_transactions",
8
+ "mutating": true,
9
+ "description": "Matching invoices or a payment to a bank transactions.\n\nThe API expects the id of the transaction along with either a comma separated list of invoice ids OR the payment id to associate the transaction to.\n\nExample for matching a transaction to two invoices:\n\n{\"transactions\":[{\"id\":\"olejRl5ejN\",\"invoice_ids\":\"JxboYBLegw,JxboYBLeXX\"}]}\n\nExample for matching a transaction and a paymente:\n\n{\"transactions\":[{\"id\":\"olejRl5ejN\",\"payment_id\":\"JxboYBLeXf\"}]}\n\nMatching expenses.\n\nYou can match an existing expense within Invoice Ninja - or - create a new expense using the following:\n\n{\"transactions\":[{\"id\":\"open5pld7A\",\"vendor_id\":\"gl9avJnaG1\",\"ninja_category_id\":\"\"}]}\n\nTo match to an existing expense:\n\n{\"transactions\":[{\"id\":\"Jxbo2qKagw\",\"expense_id\":\"7N1aMM1aWm\"}]}",
10
+ "whenToUse": "Link bank transactions to invoices, payments, or expenses by id; use to reconcile imported transactions against records (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "index",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Replaces the default response index from data to a user specific string\n\nie.\n\n```html\n ?index=new_index\n```\n\nresponse is wrapped\n\n```json\n {\n 'new_index' : [\n .....\n ]\n }\n```",
18
+ "example": "user"
19
+ }
20
+ ],
21
+ "headerParameters": [],
22
+ "requestBody": {
23
+ "contentType": "application/json",
24
+ "fields": []
25
+ }
26
+ }
@@ -0,0 +1,54 @@
1
+ {
2
+ "slug": "merge_client",
3
+ "operationId": "mergeClient",
4
+ "method": "POST",
5
+ "path": "/api/v1/clients/{id}/{mergeable_client_hashed_id}/merge",
6
+ "name": "Merge client",
7
+ "category": "clients",
8
+ "mutating": true,
9
+ "description": "## POST /api/v1/clients/{id}/{mergeable_client_hashed_id}/merge\n\nHandles merging 2 clients\n\nThe id parameter is the client that will be the primary client after the merge has completed.\n\nThe mergeable_client_hashed_id is the client that will be merged into the primary client, this clients records will be updated and associated with the primary client.\n\n> 🚨 **Important**\nThis action requires elevated permissions, please note the X-API-PASSWORD header requirements for this route.",
10
+ "whenToUse": "Merge a secondary client into a primary by their two ids (needs X-API-PASSWORD); use to consolidate duplicate client records (mutating).",
11
+ "pathParameters": [
12
+ {
13
+ "name": "id",
14
+ "type": "string",
15
+ "required": true,
16
+ "description": "The Client Hashed ID",
17
+ "format": "string",
18
+ "example": "D2J234DFA"
19
+ },
20
+ {
21
+ "name": "mergeable_client_hashed_id",
22
+ "type": "string",
23
+ "required": true,
24
+ "description": "The Mergeable Client Hashed ID",
25
+ "format": "string",
26
+ "example": "D2J234DFA"
27
+ }
28
+ ],
29
+ "queryParameters": [
30
+ {
31
+ "name": "index",
32
+ "type": "string",
33
+ "required": false,
34
+ "description": "Replaces the default response index from data to a user specific string\n\nie.\n\n```html\n ?index=new_index\n```\n\nresponse is wrapped\n\n```json\n {\n 'new_index' : [\n .....\n ]\n }\n```",
35
+ "example": "user"
36
+ },
37
+ {
38
+ "name": "include",
39
+ "type": "string",
40
+ "required": false,
41
+ "description": "Include child relationships of the Client Object. ie ?include=documents,system_logs\n\n```html\nAvailable includes:\n\ncontacts [All contacts related to the client]\ndocuments [All documents related to the client]\ngateway_tokens [All payment tokens related to the client]\nactivities [All activities related to the client]\nledger [The client ledger]\nsystem_logs [System logs related to the client]\ngroup_settings [The group settings object the client is assigned to]\n\n```\n\nUsage:\n\n```html\n/api/v1/clients?include=contacts,documents,activities\n```"
42
+ }
43
+ ],
44
+ "headerParameters": [
45
+ {
46
+ "name": "X-API-PASSWORD",
47
+ "type": "string",
48
+ "required": true,
49
+ "description": "The login password when challenged on certain protected routes",
50
+ "example": "supersecretpassword"
51
+ }
52
+ ],
53
+ "requestBody": null
54
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "slug": "post_activities_entity",
3
+ "operationId": "postActivitiesEntity",
4
+ "method": "POST",
5
+ "path": "/api/v1/activities/entity",
6
+ "name": "Entity activity",
7
+ "category": "activities",
8
+ "mutating": true,
9
+ "description": "Returns activity for a given entity",
10
+ "whenToUse": "Fetch the activity history scoped to a specific entity via POST body when listing all company activities is too broad (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [],
13
+ "headerParameters": [],
14
+ "requestBody": {
15
+ "contentType": "application/json",
16
+ "fields": []
17
+ }
18
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "slug": "post_activities_notes",
3
+ "operationId": "postActivitiesNotes",
4
+ "method": "POST",
5
+ "path": "/api/v1/activities/notes",
6
+ "name": "Activity note",
7
+ "category": "activities",
8
+ "mutating": true,
9
+ "description": "Creates or updates an activity note",
10
+ "whenToUse": "Create or update a note attached to an activity when you need to annotate the activity log (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [],
13
+ "headerParameters": [],
14
+ "requestBody": {
15
+ "contentType": "application/json",
16
+ "fields": []
17
+ }
18
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "slug": "post_connected_account",
3
+ "operationId": "postConnectedAccount",
4
+ "method": "POST",
5
+ "path": "/api/v1/connected_account",
6
+ "name": "Connect an oauth user to an existing user",
7
+ "category": "connected_account",
8
+ "mutating": true,
9
+ "description": "Refreshes the dataset",
10
+ "whenToUse": "Link an OAuth identity to an existing user account and refresh the dataset; use for connecting Google/Microsoft sign-in, not creating users (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ },
20
+ {
21
+ "name": "include_static",
22
+ "type": "string",
23
+ "required": false,
24
+ "description": "This include will return the full set of static variables used in the application including:\n - Currencies\n - Countries\n - Languages\n - Payment Types\n - Email Templatees\n - Industries",
25
+ "example": "include_static=true"
26
+ },
27
+ {
28
+ "name": "clear_cache",
29
+ "type": "string",
30
+ "required": false,
31
+ "description": "Clears cache\n\nClears (and rebuilds) the static variable cache.",
32
+ "example": "clear_cache=true"
33
+ }
34
+ ],
35
+ "headerParameters": [],
36
+ "requestBody": null,
37
+ "responseSchema": "User"
38
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "slug": "post_import",
3
+ "operationId": "postImport",
4
+ "method": "POST",
5
+ "path": "/api/v1/import",
6
+ "name": "Import CSV data",
7
+ "category": "imports",
8
+ "mutating": true,
9
+ "description": "The import endpoint executes the actual data import. Call this after `/api/v1/preimport` has returned the file hash, available fields, and column headers.\n\nUsing the data from the preimport response, construct a `column_map` that tells the system how each CSV column maps to a system field. The import runs asynchronously — you will receive an email notification once it completes.\n\n*Request body**\n\n- **hash** — The unique file reference returned by `/api/v1/preimport`.\n- **import_type** — The source format (e.g. `csv`, `freshbooks`, `invoice2go`, `invoicely`).\n- **skip_header** — Set to `true` to skip the first row of the CSV (the header row).\n- **column_map** — An object keyed by entity type (e.g. `invoice`, `client`). Each entity contains:\n - **mapping** — An object where each key is the CSV column index (as a string) and each value is the target system field from the `available` array, or an empty string `\"\"` to skip that column.\n\n---\n\n### Available mapping fields\n\nEach mapping value uses the format `entity.property`. The tables below list every available field per entity type.\n\n### Data Matching:\n\n#### Client Matching:\n Matching a record to a client is performed by using the clients email address (first) or the clients (exact) name. If no match is found, a new client is created.\n\n#### Multi line item invoice/quote/credits/recurring invoice Matching:\n If you need to import multiple line items into an invoice (other other entity) you will want to assign the same (unique) invoice number to each row in the csv file, the system will group together lines where the invoice number is the same and create line items for each row.\n\n#### Invoice fields (`files[invoice]`)\n\n| Field | Description |\n|---|---|\n| `invoice.number` | Invoice number |\n| `invoice.user_id` | Assigned user |\n| `invoice.amount` | Invoice amount |\n| `invoice.balance` | Outstanding balance |\n| `invoice.discount` | Discount value |\n| `invoice.po_number` | Purchase order number |\n| `invoice.date` | Invoice date |\n| `invoice.due_date` | Due date |\n| `invoice.terms` | Invoice terms |\n| `invoice.status` | Invoice status |\n| `invoice.public_notes` | Public notes (visible to client) |\n| `invoice.is_sent` | Whether the invoice has been sent |\n| `invoice.private_notes` | Private notes (internal only) |\n| `invoice.uses_inclusive_taxes` | Whether tax amounts are inclusive |\n| `invoice.tax_name1` | Tax name (tier 1) |\n| `invoice.tax_rate1` | Tax rate (tier 1) |\n| `invoice.tax_name2` | Tax name (tier 2) |\n| `invoice.tax_rate2` | Tax rate (tier 2) |\n| `invoice.tax_name3` | Tax name (tier 3) |\n| `invoice.tax_rate3` | Tax rate (tier 3) |\n| `invoice.is_amount_discount` | Whether discount is a fixed amount |\n| `invoice.footer` | Invoice footer |\n| `invoice.partial` | Partial/deposit amount |\n| `invoice.partial_due_date` | Partial payment due date |\n| `invoice.custom_value1` | Custom field 1 |\n| `invoice.custom_value2` | Custom field 2 |\n| `invoice.custom_value3` | Custom field 3 |\n| `invoice.custom_value4` | Custom field 4 |\n| `invoice.custom_surcharge1` | Custom surcharge 1 |\n| `invoice.custom_surcharge2` | Custom surcharge 2 |\n| `invoice.custom_surcharge3` | Custom surcharge 3 |\n| `invoice.custom_surcharge4` | Custom surcharge 4 |\n| `invoice.exchange_rate` | Currency exchange rate |\n| `client.name` | Client name |\n| `client.email` | Client email |\n| `payment.date` | Payment date |\n| `payment.amount` | Payment amount |\n| `payment.transaction_reference` | Payment transaction reference |\n| `item.quantity` | Line item quantity |\n| `item.cost` | Line item unit cost |\n| `item.product_key` | Line item product key |\n| `item.notes` | Line item description |\n| `item.discount` | Line item discount |\n| `item.is_amount_discount` | Whether line item discount is a fixed amount |\n| `item.tax_name1` | Line item tax name (tier 1) |\n| `item.tax_rate1` | Line item tax rate (tier 1) |\n| `item.tax_name2` | Line item tax name (tier 2) |\n| `item.tax_rate2` | Line item tax rate (tier 2) |\n| `item.tax_name3` | Line item tax name (tier 3) |\n| `item.tax_rate3` | Line item tax rate (tier 3) |\n| `item.custom_value1` | Line item custom field 1 |\n| `item.custom_value2` | Line item custom field 2 |\n| `item.custom_value3` | Line item custom field 3 |\n| `item.custom_value4` | Line item custom field 4 |\n| `item.type_id` | Line item type |\n\n#### Client fields (`files[client]`)\n\n| Field | Description |\n|---|---|\n| `client.name` | Client name |\n| `client.user_id` | Assigned user |\n| `client.balance` | Account balance |\n| `client.paid_to_date` | Total paid to date |\n| `client.currency_id` | Currency |\n| `client.website` | Website URL |\n| `client.private_notes` | Private notes |\n| `client.industry_id` | Industry |\n| `client.size_id` | Company size |\n| `client.address1` | Address line 1 |\n| `client.address2` | Address line 2 |\n| `client.city` | City |\n| `client.state` | State/province |\n| `client.postal_code` | Postal code |\n| `client.country_id` | Country |\n| `client.custom_value1` | Custom field 1 |\n| `client.custom_value2` | Custom field 2 |\n| `client.custom_value3` | Custom field 3 |\n| `client.custom_value4` | Custom field 4 |\n| `client.shipping_address1` | Shipping address line 1 |\n| `client.shipping_address2` | Shipping address line 2 |\n| `client.shipping_city` | Shipping city |\n| `client.shipping_state` | Shipping state/province |\n| `client.shipping_postal_code` | Shipping postal code |\n| `client.shipping_country_id` | Shipping country |\n| `client.payment_terms` | Default payment terms |\n| `client.vat_number` | VAT/tax number |\n| `client.id_number` | ID number |\n| `client.public_notes` | Public notes |\n| `client.phone` | Phone number |\n| `contact.first_name` | Contact first name |\n| `contact.last_name` | Contact last name |\n| `contact.email` | Contact email |\n| `contact.phone` | Contact phone |\n| `contact.custom_value1` | Contact custom field 1 |\n| `contact.custom_value2` | Contact custom field 2 |\n| `contact.custom_value3` | Contact custom field 3 |\n| `contact.custom_value4` | Contact custom field 4 |\n\n#### Product fields (`files[product]`)\n\n| Field | Description |\n|---|---|\n| `product.product_key` | Product key/name |\n| `product.notes` | Product description |\n| `product.cost` | Product cost |\n| `product.price` | Product price |\n| `product.quantity` | Default quantity |\n| `product.tax_name1` | Tax name (tier 1) |\n| `product.tax_rate1` | Tax rate (tier 1) |\n| `product.tax_name2` | Tax name (tier 2) |\n| `product.tax_rate2` | Tax rate (tier 2) |\n| `product.tax_name3` | Tax name (tier 3) |\n| `product.tax_rate3` | Tax rate (tier 3) |\n| `product.custom_value1` | Custom field 1 |\n| `product.custom_value2` | Custom field 2 |\n| `product.custom_value3` | Custom field 3 |\n| `product.custom_value4` | Custom field 4 |\n| `product.image_url` | Product image URL |\n| `product.in_stock_quantity` | In-stock quantity |\n| `product.tax_category` | Tax category |\n| `product.max_quantity` | Maximum quantity |\n\n#### Payment fields (`files[payment]`)\n\n| Field | Description |\n|---|---|\n| `payment.number` | Payment number |\n| `payment.user_id` | Assigned user |\n| `payment.amount` | Payment amount |\n| `payment.refunded` | Refunded amount |\n| `payment.applied` | Applied amount |\n| `payment.transaction_reference` | Transaction reference |\n| `payment.private_notes` | Private notes |\n| `payment.custom_value1` | Custom field 1 |\n| `payment.custom_value2` | Custom field 2 |\n| `payment.custom_value3` | Custom field 3 |\n| `payment.custom_value4` | Custom field 4 |\n| `payment.client_id` | Client |\n| `payment.invoice_number` | Invoice number |\n| `payment.date` | Payment date |\n| `payment.method` | Payment method |\n\n#### Vendor fields (`files[vendor]`)\n\n| Field | Description |\n|---|---|\n| `vendor.name` | Vendor name |\n| `vendor.phone` | Phone number |\n| `vendor.id_number` | ID number |\n| `vendor.vat_number` | VAT/tax number |\n| `vendor.website` | Website URL |\n| `vendor.first_name` | First name |\n| `vendor.last_name` | Last name |\n| `vendor.email` | Email address |\n| `vendor.currency_id` | Currency |\n| `vendor.public_notes` | Public notes |\n| `vendor.private_notes` | Private notes |\n| `vendor.address1` | Address line 1 |\n| `vendor.address2` | Address line 2 |\n| `vendor.city` | City |\n| `vendor.state` | State/province |\n| `vendor.postal_code` | Postal code |\n| `vendor.country_id` | Country |\n| `vendor.custom_value1` | Custom field 1 |\n| `vendor.custom_value2` | Custom field 2 |\n| `vendor.custom_value3` | Custom field 3 |\n| `vendor.custom_value4` | Custom field 4 |\n| `contact.first_name` | Contact first name |\n| `contact.last_name` | Contact last name |\n| `contact.email` | Contact email |\n| `contact.phone` | Contact phone |\n| `contact.custom_value1` | Contact custom field 1 |\n| `contact.custom_value2` | Contact custom field 2 |\n| `contact.custom_value3` | Contact custom field 3 |\n| `contact.custom_value4` | Contact custom field 4 |\n\n#### Expense fields (`files[expense]`)\n\n| Field | Description |\n|---|---|\n| `expense.vendor` | Vendor name |\n| `expense.client` | Client name |\n| `expense.project` | Project name |\n| `expense.category` | Expense category |\n| `expense.amount` | Expense amount |\n| `expense.currency` | Currency |\n| `expense.date` | Expense date |\n| `expense.payment_type` | Payment type |\n| `expense.payment_date` | Payment date |\n| `expense.transaction_reference` | Transaction reference |\n| `expense.public_notes` | Public notes |\n| `expense.private_notes` | Private notes |\n| `expense.tax_name1` | Tax name (tier 1) |\n| `expense.tax_rate1` | Tax rate (tier 1) |\n| `expense.tax_name2` | Tax name (tier 2) |\n| `expense.tax_rate2` | Tax rate (tier 2) |\n| `expense.tax_name3` | Tax name (tier 3) |\n| `expense.tax_rate3` | Tax rate (tier 3) |\n| `expense.uses_inclusive_taxes` | Whether tax amounts are inclusive |\n| `expense.custom_value1` | Custom field 1 |\n| `expense.custom_value2` | Custom field 2 |\n| `expense.custom_value3` | Custom field 3 |\n| `expense.custom_value4` | Custom field 4 |\n\n#### Quote fields (`files[quote]`)\n\n| Field | Description |\n|---|---|\n| `quote.number` | Quote number |\n| `quote.user_id` | Assigned user |\n| `quote.amount` | Quote amount |\n| `quote.balance` | Outstanding balance |\n| `quote.discount` | Discount value |\n| `quote.po_number` | Purchase order number |\n| `quote.date` | Quote date |\n| `quote.due_date` | Valid until date |\n| `quote.terms` | Quote terms |\n| `quote.status` | Quote status |\n| `quote.public_notes` | Public notes |\n| `quote.is_sent` | Whether the quote has been sent |\n| `quote.private_notes` | Private notes |\n| `quote.uses_inclusive_taxes` | Whether tax amounts are inclusive |\n| `quote.tax_name1` | Tax name (tier 1) |\n| `quote.tax_rate1` | Tax rate (tier 1) |\n| `quote.tax_name2` | Tax name (tier 2) |\n| `quote.tax_rate2` | Tax rate (tier 2) |\n| `quote.tax_name3` | Tax name (tier 3) |\n| `quote.tax_rate3` | Tax rate (tier 3) |\n| `quote.is_amount_discount` | Whether discount is a fixed amount |\n| `quote.footer` | Quote footer |\n| `quote.partial` | Partial/deposit amount |\n| `quote.partial_due_date` | Partial payment due date |\n| `quote.custom_value1` | Custom field 1 |\n| `quote.custom_value2` | Custom field 2 |\n| `quote.custom_value3` | Custom field 3 |\n| `quote.custom_value4` | Custom field 4 |\n| `quote.custom_surcharge1` | Custom surcharge 1 |\n| `quote.custom_surcharge2` | Custom surcharge 2 |\n| `quote.custom_surcharge3` | Custom surcharge 3 |\n| `quote.custom_surcharge4` | Custom surcharge 4 |\n| `quote.exchange_rate` | Currency exchange rate |\n| `client.name` | Client name |\n| `client.email` | Client email |\n| `payment.date` | Payment date |\n| `payment.amount` | Payment amount |\n| `payment.transaction_reference` | Transaction reference |\n| `item.*` | Same line item fields as invoices |\n\n#### Recurring invoice fields (`files[recurring_invoice]`)\n\nSupports all invoice fields above, plus:\n\n| Field | Description |\n|---|---|\n| `invoice.frequency_id` | Recurrence frequency |\n| `invoice.remaining_cycles` | Remaining billing cycles |\n| `invoice.auto_bill` | Auto-bill setting |\n| `invoice.next_send_date` | Next send date (replaces `invoice.date`) |\n\n#### Task fields (`files[task]`)\n\n| Field | Description |\n|---|---|\n| `task.number` | Task number |\n| `task.user_id` | Assigned user |\n| `task.rate` | Hourly rate |\n| `task.description` | Task description |\n| `task.billable` | Whether the task is billable |\n| `task.status` | Task status |\n| `task.start_date` | Start date |\n| `task.end_date` | End date |\n| `task.start_time` | Start time |\n| `task.end_time` | End time |\n| `task.duration` | Duration |\n| `task.custom_value1` | Custom field 1 |\n| `task.custom_value2` | Custom field 2 |\n| `task.custom_value3` | Custom field 3 |\n| `task.custom_value4` | Custom field 4 |\n| `task.notes` | Task notes |\n| `project.name` | Project name |\n| `client.name` | Client name |\n| `client.email` | Client email |\n\n#### Bank transaction fields (`files[bank_transaction]`)\n\n| Field | Description |\n|---|---|\n| `transaction.transaction_id` | Transaction ID |\n| `transaction.amount` | Transaction amount |\n| `transaction.currency` | Currency |\n| `transaction.account_type` | Account type |\n| `transaction.category` | Category |\n| `transaction.category_type` | Category type |\n| `transaction.date` | Transaction date |\n| `transaction.bank_account` | Bank account |\n| `transaction.description` | Description |\n| `transaction.base_type` | Base type |\n| `transaction.payment_type_Credit` | Credit amount |\n| `transaction.payment_type_Debit` | Debit amount |\n| `transaction.participant` | Participant reference |\n| `transaction.participant_name` | Participant name |\n\n---\n\n*Example**\n\n```bash\ncurl -X POST 'https://invoiceninja.com/api/v1/import' \\\n -H 'X-API-TOKEN: YOUR_API_TOKEN_HERE' \\\n -H 'Content-Type: application/json' \\\n -d '{\n \"hash\": \"MvKeSwMnhAfgkzdYKgxM5ummxGbLIdNm\",\n \"import_type\": \"csv\",\n \"skip_header\": true,\n \"column_map\": {\n \"invoice\": {\n \"mapping\": {\n \"0\": \"client.name\",\n \"1\": \"client.email\",\n \"2\": \"\",\n \"3\": \"invoice.number\",\n \"4\": \"invoice.amount\"\n }\n }\n }\n }'\n```",
10
+ "whenToUse": "Execute the actual CSV import using the hash and column_map from preimport; call only after preimport returns headers (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Includes child relationships in the response, format is comma separated. Check each model for the list of associated includes",
18
+ "example": "first_load"
19
+ }
20
+ ],
21
+ "headerParameters": [],
22
+ "requestBody": {
23
+ "contentType": "application/json",
24
+ "fields": [
25
+ {
26
+ "name": "hash",
27
+ "type": "string",
28
+ "required": true,
29
+ "description": "The unique file reference returned by the preimport endpoint."
30
+ },
31
+ {
32
+ "name": "import_type",
33
+ "type": "string",
34
+ "required": true,
35
+ "description": "The source format of the import."
36
+ },
37
+ {
38
+ "name": "skip_header",
39
+ "type": "boolean",
40
+ "required": false,
41
+ "description": "When true, the first row of the CSV is treated as a header row and skipped during import."
42
+ },
43
+ {
44
+ "name": "column_map",
45
+ "type": "object",
46
+ "required": true,
47
+ "description": "An object keyed by entity type. Each entity contains a mapping of CSV column indices to system fields."
48
+ }
49
+ ]
50
+ }
51
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "slug": "post_login",
3
+ "operationId": "postLogin",
4
+ "method": "POST",
5
+ "path": "/api/v1/login",
6
+ "name": "Login",
7
+ "category": "auth",
8
+ "mutating": true,
9
+ "description": "Login",
10
+ "whenToUse": "Authenticate a user with email plus password, 2FA, or passkey assertion to obtain a CompanyUser session (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [
13
+ {
14
+ "name": "include",
15
+ "type": "string",
16
+ "required": false,
17
+ "description": "Include child relations of the CompanyUser object, format is comma separated.\n\n<br />\n\n> ### **Note**: it is possible to chain multiple includes together, ie. include=account,token\n\n<br />\n\n```html\n\nAvailable includes:\n\n user\n company\n token\n account\n```"
18
+ },
19
+ {
20
+ "name": "include_static",
21
+ "type": "string",
22
+ "required": false,
23
+ "description": "This include will return the full set of static variables used in the application including:\n - Currencies\n - Countries\n - Languages\n - Payment Types\n - Email Templatees\n - Industries",
24
+ "example": "include_static=true"
25
+ },
26
+ {
27
+ "name": "clear_cache",
28
+ "type": "string",
29
+ "required": false,
30
+ "description": "Clears cache\n\nClears (and rebuilds) the static variable cache.",
31
+ "example": "clear_cache=true"
32
+ }
33
+ ],
34
+ "headerParameters": [
35
+ {
36
+ "name": "X-API-SECRET",
37
+ "type": "string",
38
+ "required": false,
39
+ "description": "The API secret as defined by the .env variable API_SECRET. Only needed for self hosted users, and only applicable on the login route.",
40
+ "example": "password"
41
+ }
42
+ ],
43
+ "requestBody": {
44
+ "contentType": "application/json",
45
+ "fields": [
46
+ {
47
+ "name": "email",
48
+ "type": "string",
49
+ "required": true,
50
+ "description": "The users email address."
51
+ },
52
+ {
53
+ "name": "password",
54
+ "type": "string",
55
+ "required": false,
56
+ "description": "The user password. Optional when performing passkey passwordless login."
57
+ },
58
+ {
59
+ "name": "one_time_password",
60
+ "type": "string",
61
+ "required": false,
62
+ "description": "The one time password if 2FA is enabled"
63
+ },
64
+ {
65
+ "name": "passkey_challenge_token",
66
+ "type": "string",
67
+ "required": false,
68
+ "description": "Challenge token returned by passkey login options or second-factor challenge."
69
+ },
70
+ {
71
+ "name": "passkey_authentication",
72
+ "type": "object",
73
+ "required": false,
74
+ "description": "WebAuthn assertion payload."
75
+ }
76
+ ]
77
+ },
78
+ "responseSchema": "CompanyUser"
79
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "slug": "post_one_time_token",
3
+ "operationId": "postOneTimeToken",
4
+ "method": "POST",
5
+ "path": "/api/v1/one_time_token",
6
+ "name": "Attempts to create a one time token",
7
+ "category": "one_time_token",
8
+ "mutating": true,
9
+ "description": "Attempts to create a one time token",
10
+ "whenToUse": "Call to mint a short-lived one-time token for a single privileged action like a redirect or hosted-page handoff (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [],
13
+ "headerParameters": [],
14
+ "requestBody": null
15
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "slug": "post_passkey_login_options",
3
+ "operationId": "postPasskeyLoginOptions",
4
+ "method": "POST",
5
+ "path": "/api/v1/passkeys/login/options",
6
+ "name": "Passkey login options",
7
+ "category": "auth",
8
+ "mutating": true,
9
+ "description": "Passkey login options",
10
+ "whenToUse": "Request WebAuthn challenge options for an email to begin passwordless passkey sign-in before calling post_login (mutating).",
11
+ "pathParameters": [],
12
+ "queryParameters": [],
13
+ "headerParameters": [],
14
+ "requestBody": {
15
+ "contentType": "application/json",
16
+ "fields": [
17
+ {
18
+ "name": "email",
19
+ "type": "string",
20
+ "required": true
21
+ }
22
+ ]
23
+ }
24
+ }