Docs

Build on Mintas

The MCP server, the REST API and the CLI. Everything the app can do, from your own tools.

MCP server

Mintas inside your AI tools

The Mintas MCP server gives AI clients the same 103 tools the app uses, across 15 groups. Most clients connect with a sign-in: you approve access in the browser and pick a team. Clients that only take a key send it as a bearer token.

https://api.mintas.co/mcp
API key header
Authorization: Bearer mnt_your_api_key

Create API keys in Mintas under Settings, Developer. Revoke a key there to cut off the client that uses it. The assistant can draft invoices and log time when the tools allow it, and it cannot move money.

Setup guides

Tools by group

Transactions13
ToolWhat it doesAccess
transactions_listList Transactionsread
transactions_getGet Transactionread
transactions_createCreate Transactionwrite
transactions_create_bulkCreate Transactions (Bulk)write
transactions_updateUpdate Transactionwrite
transactions_update_bulkUpdate Transactions (Bulk)write
transactions_deleteDelete Transactiondelete
transactions_delete_bulkDelete Transactions (Bulk)delete
transactions_exportExport Transactions (File)write
transactions_export_to_accountingExport to Accounting Softwarewrite
export_job_statusExport Job Statusread
accounting_connectionsList Accounting Connectionsread
accounting_sync_statusAccounting Sync Statusread
Reports13
ToolWhat it doesAccess
reports_revenueRevenue Reportread
reports_profitProfit Reportread
reports_burn_rateBurn Rate Reportread
reports_runwayRunway Reportread
reports_expensesExpenses Reportread
reports_spendingSpending by Categoryread
reports_tax_summaryTax Summary Reportread
reports_growth_rateGrowth Rate Reportread
reports_profit_marginProfit Margin Reportread
reports_cash_flowCash Flow Reportread
reports_recurring_expensesRecurring Expenses Reportread
reports_revenue_forecastRevenue Forecast Reportread
reports_balance_sheetBalance Sheet Reportread
Invoices12
ToolWhat it doesAccess
invoices_listList Invoicesread
invoices_summaryInvoice Summaryread
invoices_search_numberSearch Invoice Numberread
invoices_payment_statusInvoice Payment Status Scoreread
invoices_analyticsInvoice Analyticsread
invoices_updateUpdate Invoicewrite
invoices_mark_paidMark Invoice as Paidwrite
invoices_deleteDelete Invoicedelete
invoices_duplicateDuplicate Invoicewrite
invoices_cancelCancel Invoicewrite
invoices_remindSend Invoice Reminderwrite
invoices_sendSend Invoicewrite
Time tracker12
ToolWhat it doesAccess
tracker_projects_listList Tracker Projectsread
tracker_projects_getGet Tracker Projectread
tracker_projects_createCreate Tracker Projectwrite
tracker_projects_updateUpdate Tracker Projectwrite
tracker_projects_deleteDelete Tracker Projectdelete
tracker_entries_listList Tracker Entriesread
tracker_timer_statusGet Timer Statusread
tracker_entries_createCreate Tracker Entrywrite
tracker_entries_updateUpdate Tracker Entrywrite
tracker_entries_deleteDelete Tracker Entrydelete
tracker_timer_startStart Timerwrite
tracker_timer_stopStop Timerwrite
Documents8
ToolWhat it doesAccess
documents_listList Documentsread
documents_getGet Documentread
document_tags_listList Document Tagsread
documents_deleteDelete Documentdelete
document_tags_createCreate Document Tagwrite
document_tags_deleteDelete Document Tagdelete
document_tags_assignAssign Tag to Documentwrite
document_tags_unassignRemove Tag from Documentwrite
Inbox8
ToolWhat it doesAccess
inbox_listList Inbox Itemsread
inbox_getGet Inbox Itemread
inbox_updateUpdate Inbox Itemwrite
inbox_deleteDelete Inbox Itemdelete
inbox_match_transactionMatch Inbox to Transactionwrite
inbox_unmatch_transactionUnmatch Inbox from Transactionwrite
inbox_confirm_matchConfirm Suggested Matchwrite
inbox_decline_matchDecline Suggested Matchwrite
Recurring invoices7
ToolWhat it doesAccess
invoice_recurring_listList Recurring Invoicesread
invoice_recurring_getGet Recurring Invoiceread
invoice_recurring_upcomingUpcoming Recurring Invoicesread
invoice_recurring_createCreate Recurring Invoicewrite
invoice_recurring_pausePause Recurring Invoicewrite
invoice_recurring_resumeResume Recurring Invoicewrite
invoice_recurring_deleteDelete Recurring Invoicedelete
Categories5
ToolWhat it doesAccess
categories_listList Transaction Categoriesread
categories_getGet Transaction Categoryread
categories_createCreate Transaction Categorywrite
categories_updateUpdate Transaction Categorywrite
categories_deleteDelete Transaction Categorydelete
Customers5
ToolWhat it doesAccess
customers_listList Customersread
customers_getGet Customerread
customers_createCreate Customerwrite
customers_updateUpdate Customerwrite
customers_deleteDelete Customerdelete
Products5
ToolWhat it doesAccess
invoice_products_listList Invoice Productsread
invoice_products_getGet Invoice Productread
invoice_products_createCreate Invoice Productwrite
invoice_products_updateUpdate Invoice Productwrite
invoice_products_deleteDelete Invoice Productdelete
Tags5
ToolWhat it doesAccess
tags_listList Tagsread
tags_getGet Tagread
tags_createCreate Tagwrite
tags_updateUpdate Tagwrite
tags_deleteDelete Tagdelete
Bank accounts4
ToolWhat it doesAccess
bank_accounts_listList Bank Accountsread
bank_accounts_balancesBank Account Balancesread
bank_accounts_currenciesBank Account Currenciesread
bank_accounts_detailsBank Account Detailsread
Invoice templates3
ToolWhat it doesAccess
invoice_template_listList Invoice Templatesread
invoice_template_getGet Invoice Templateread
invoice_template_updateUpdate Invoice Templatewrite
Team2
ToolWhat it doesAccess
team_getGet Team Inforead
team_membersList Team Membersread
Search1
ToolWhat it doesAccess
search_globalGlobal Searchread
REST API

The REST API

Every request goes to https://api.mintas.co with a bearer token: an API key from Settings, Developer, or an OAuth access token for apps that act on behalf of a user. Each route needs a scope, and keys can be limited to the scopes they need.

List transactions
curl https://api.mintas.co/transactions?pageSize=20 \
  -H "Authorization: Bearer mnt_your_api_key"

Resources and scopes

PathResourceScopes
/transactionsTransactionstransactions.read, transactions.write
/invoicesInvoicesinvoices.read, invoices.write
/customersCustomerscustomers.read, customers.write
/bank-accountsBank accountsbank-accounts.read, bank-accounts.write
/inboxInboxinbox.read, inbox.write
/documentsDocumentsdocuments.read, documents.write
/reportsReportsreports.read
/tracker-projectsTracker projectstracker-projects.read, tracker-projects.write
/tracker-entriesTracker entriestracker-entries.read, tracker-entries.write
/tagsTagstags.read, tags.write
/searchSearchsearch.read
/teamsTeamsteams.read, teams.write
/usersUsersusers.read, users.write
/notificationsNotificationsnotifications.read, notifications.write

Rate limits

ScopeLimitWindowCounted
REST API1,000 requests10 minutesper user
MCP server1,000 requests10 minutesper IP address
OAuth endpoints20 requests15 minutesper IP address
OAuth client registration10 requests1 hourper IP address

Over the limit, the API answers 429 with "Rate limit exceeded". OAuth errors follow RFC 6749, for example invalid_request.

CLI

The Mintas CLI

Run the business from the terminal. Tables in a terminal, JSON when piped, and an agent mode for scripts and AI agents.

Run without installing (once the CLI is on npm)
npx @mintas/cli@latest
Sign in
mintas auth login            # opens the browser
mintas auth login --no-browser
echo $MINTAS_API_KEY | mintas auth login --token-stdin
mintas auth status

Commands

Transactions5
CommandWhat it does
mintas transactions listList transactions
mintas transactions get <id>Get transaction details
mintas transactions createCreate a manual transaction
mintas transactions update <id>Update a transaction
mintas transactions delete <id>Delete a transaction
Examples
$ mintas transactions list --from 2026-01-01 --to 2026-03-31
$ mintas transactions list --search "Spotify" --category software
$ mintas transactions create --name "Office Supplies" --amount -49.99 --currency USD --account acc_123
Invoices8
CommandWhat it does
mintas invoices listList invoices
mintas invoices get <id>Get invoice details
mintas invoices createCreate an invoice
mintas invoices send <id>Send to customer
mintas invoices update <id>Update an invoice
mintas invoices delete <id>Delete an invoice
mintas invoices mark-paid <id>Mark as paid
mintas invoices remind <id>Send a payment reminder
Examples
$ mintas invoices list --status unpaid
$ mintas invoices create --customer cust_123 --due-date 2026-04-30
$ mintas invoices send inv_abc123
Tracker5
CommandWhat it does
mintas tracker startStart the timer
mintas tracker stopStop the timer
mintas tracker statusShow the current timer
mintas tracker projects listList projects
mintas tracker projects createCreate a project
Examples
$ mintas tracker start --project proj_abc --description "API development"
$ mintas tracker stop
$ mintas tracker projects create --name "Website Redesign" --rate 150
Customers5
CommandWhat it does
mintas customers listList customers
mintas customers get <id>Get customer details
mintas customers createCreate a customer
mintas customers update <id>Update a customer
mintas customers delete <id>Delete a customer
Examples
$ mintas customers list --search "Acme"
$ mintas customers create --name "Acme Corp" --email billing@acme.com
Reports6
CommandWhat it does
mintas reports revenueRevenue report
mintas reports profitProfit report
mintas reports burn-rateMonthly burn rate
mintas reports runwayCash runway estimate
mintas reports expensesExpense breakdown
mintas reports spendingSpending by category
Examples
$ mintas reports revenue --from 2026-01-01 --to 2026-03-31
$ mintas reports runway --currency USD
$ mintas reports spending --json
Documents3
CommandWhat it does
mintas documents listList documents
mintas documents get <id>Get document details
mintas documents delete <id>Delete a document
Examples
$ mintas documents list --json
Inbox4
CommandWhat it does
mintas inbox listList inbox items
mintas inbox get <id>Get item details
mintas inbox match <id>Match to a transaction
mintas inbox delete <id>Delete an item
Examples
$ mintas inbox list --status pending
$ mintas inbox match inb_abc --transaction txn_def
Tags3
CommandWhat it does
mintas tags listList tags
mintas tags createCreate a tag
mintas tags delete <id>Delete a tag
Examples
$ mintas tags list
Categories4
CommandWhat it does
mintas categories listList categories
mintas categories createCreate a category
mintas categories update <id>Update a category
mintas categories delete <id>Delete a category
Examples
$ mintas categories list --table
Products5
CommandWhat it does
mintas products listList invoice products
mintas products get <id>Get product details
mintas products createCreate a product
mintas products update <id>Update a product
mintas products delete <id>Delete a product
Examples
$ mintas products list --json
Bank accounts3
CommandWhat it does
mintas bank-accounts listList connected accounts
mintas bank-accounts balancesShow all balances
mintas bank-accounts get <id>Get account details
Examples
$ mintas bank-accounts balances
Team2
CommandWhat it does
mintas team infoShow team information
mintas team membersList team members
Examples
$ mintas team members --json

Flags and environment

FlagEffect
--jsonOutput as JSON (default when piped)
--tableOutput as a table (default in a terminal)
--agentAgent mode: JSON, no prompts, no spinners
--quietSuppress progress output
--dry-runPreview destructive actions
--debugVerbose HTTP logging to stderr
--api-url <url>Override the API base URL
VariableEffect
MINTAS_API_KEYAPI key, skips auth login
MINTAS_API_URLOverride the API endpoint
MINTAS_DASHBOARD_URLOverride the dashboard URL used for OAuth
NO_COLORDisable colored output