MCP tools
194 tools at https://api.evenbead.com/mcp. Each one runs a single API operation through the same pipeline as REST. Setup: MCP setup.
list_accounts
List accounts. The chart of accounts (code, name, type, subtype, control, active; include_balances for each balance) and the default income/expense accounts for new documents.
- Read-only
- Operation: GET /v1/accounts
create_account
Create account. Add an account (code, name, type, optional subtype, parent_code, AR/AP control) to the chart (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/accounts
update_account
Rename or (de)activate account. Rename an account or deactivate/reactivate it (admin scope). Never deletes; control, bank, tax, item, default and parent accounts are protected (account_protected). dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/accounts/{code}/update
set_default_accounts
Set default accounts. Set the default income and expense accounts new document lines start on (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/accounts/defaults
list_starter_charts
Starter charts. The starter charts of accounts (general, services, retail, empty) with every account.
- Read-only
- Operation: GET /v1/starter-charts
apply_starter_chart
Apply starter chart. Apply a starter chart to a company whose chart is still empty (admin scope); dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/accounts/starter-chart
list_periods
List periods. Accounting periods with their lock status.
- Read-only
- Operation: GET /v1/periods
set_period_status
Lock or unlock period. Open, soft-lock or hard-lock one period (admin scope; reopening a hard lock needs a person and a reason).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/periods/{id}/status
create_bank_account
Register bank account. Register a bank or card account linked to its ledger account (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-accounts
update_bank_account
Edit bank account. Correct a bank or card account's name, institution or last digits (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-accounts/{id}/update
get_trial_balance
Trial balance. Trial balance as of a date (YYYY-MM-DD); integer cents.
- Read-only
- Operation: GET /v1/reports/trial-balance
search_transactions
Search transactions. Posted journal entries filtered by date range, account code, memo text and amount (cents).
- Read-only
- Operation: GET /v1/transactions
propose_journal_entry
Propose journal entry. Propose a balanced entry. Within your policy it posts; otherwise it is queued for approval. dry_run: true returns the exact entry, policy verdict, affected balances and validation errors without writing.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/journal-entries/propose
list_proposals
List proposals. The approval queue (filter by status).
- Read-only
- Operation: GET /v1/proposals
approve_proposal
Approve proposal. Approve and post a pending proposal (approve scope; never your own).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/proposals/{id}/approve
reject_proposal
Reject proposal. Reject a pending proposal with a reason (approve scope; never your own).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/proposals/{id}/reject
reverse_journal_entry
Reverse journal entry. Correct a posted entry by posting its exact reversal (posted entries are never edited).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/journal-entries/{id}/reverse
verify_audit_chain
Verify audit chain. Verify the company's hash-chained audit log.
- Read-only
- Operation: GET /v1/audit/verify
whoami
Who am I. Your principal (agent or user), scopes and company.
- Read-only
- Operation: GET /v1/me
list_classes
List classes. Classes (reporting dimension) that journal lines can be tagged with.
- Read-only
- Operation: GET /v1/classes
get_profit_and_loss
Profit and loss. P&L for a date range by account (optionally one class); integer cents.
- Read-only
- Operation: GET /v1/reports/profit-and-loss
get_balance_sheet
Balance sheet. Balance sheet as of a date with current-year earnings rolled up; integer cents.
- Read-only
- Operation: GET /v1/reports/balance-sheet
get_general_ledger
General ledger. Every line in a date range by account with running balances.
- Read-only
- Operation: GET /v1/reports/general-ledger
export_tax_trial_balance
Tax trial balance. Year-to-date trial balance in the generic tax CSV layout (JSON here, with control totals). Audited.
- Read-only
- Operation: GET /v1/exports/tax-trial-balance
list_bank_accounts
List bank accounts. Bank and card accounts with balances, line counts by state and reconciliation status.
- Read-only
- Operation: GET /v1/bank-accounts
import_bank_statement
Import bank statement. Import OFX/QFX or CSV text into a bank account; lines dedupe on FITID or content hash. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-accounts/{id}/imports
list_bank_lines
List bank lines. Bank lines by account/state/date; unmatched lines include the matching rule's suggestion.
- Read-only
- Operation: GET /v1/bank-lines
categorize_bank_line
Categorize bank line. Categorize an unmatched bank line into an account. Within your policy it posts; otherwise it queues for approval. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-lines/{id}/categorize
match_bank_line
Match bank line. Link an unmatched bank line to an existing posted entry of the same amount.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-lines/{id}/match
unmatch_bank_line
Unmatch bank line. Undo a match (approve scope; refused once reconciled).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-lines/{id}/unmatch
exclude_bank_line
Exclude bank line. Exclude an unmatched bank line with a reason (e.g. a duplicate the bank sent).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-lines/{id}/exclude
restore_bank_line
Restore bank line. Return an excluded bank line to unmatched.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-lines/{id}/restore
auto_match_bank_lines
Auto-match bank lines. Match unmatched lines to existing entries (same amount, date window) and pair transfers between own accounts.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-accounts/{id}/auto-match
list_bank_rules
List bank rules. Categorization rules in evaluation order.
- Read-only
- Operation: GET /v1/bank-rules
create_bank_rule
Create bank rule. Create a rule: payee contains and/or amount range → account (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-rules
deactivate_bank_rule
Deactivate bank rule. Deactivate a rule (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-rules/{id}/deactivate
start_reconciliation
Start reconciliation. Start reconciling a bank statement (date + ending balance); auto_clear pre-clears lines the bank showed.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-accounts/{id}/reconciliations
list_reconciliations
List reconciliations. Reconciliations, newest first.
- Read-only
- Operation: GET /v1/reconciliations
get_reconciliation
Get reconciliation. A reconciliation with cleared and uncleared ledger lines and the difference.
- Read-only
- Operation: GET /v1/reconciliations/{id}
update_reconciliation
Update reconciliation. Clear/unclear ledger lines or fix the statement figures while in progress.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/reconciliations/{id}/update
finish_reconciliation
Finish reconciliation. Finish at zero difference (approve scope). Finished reconciliations are immutable.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/reconciliations/{id}/finish
cancel_reconciliation
Cancel reconciliation. Discard an in-progress reconciliation with a reason.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/reconciliations/{id}/cancel
get_reconciliation_report
Reconciliation report. Cleared deposits/payments, uncleared items and the book-vs-statement tie-out.
- Read-only
- Operation: GET /v1/reconciliations/{id}/report
undo_reconciliation
Undo reconciliation. Undo the latest finished reconciliation of an account, with a reason (approve scope; refused when a period on/after the statement is locked).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/reconciliations/{id}/undo
list_users
List users. People in this company.
- Read-only
- Operation: GET /v1/users
list_agents
List agents. Registered agents with scopes and posting thresholds.
- Read-only
- Operation: GET /v1/agents
set_fiscal_year_start
Set fiscal year start. Set the fiscal year start month (admin; refused while a period is hard-locked).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/company/fiscal-year
create_fiscal_year_periods
Create fiscal-year periods. Create the missing monthly periods of a fiscal year (named by the year it ends).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/fiscal-years/periods
set_fiscal_year_status
Lock fiscal year. Lock or reopen every period of a fiscal year (admin).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/fiscal-years/status
create_contact
Create customer or vendor. Add a customer or vendor (kind, name, optional email and payment terms in days).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/contacts
list_contacts
List customers and vendors. Customers and vendors with open and overdue balances.
- Read-only
- Operation: GET /v1/contacts
get_contact
Get customer or vendor. A customer or vendor with their documents and payments.
- Read-only
- Operation: GET /v1/contacts/{id}
update_contact
Update customer or vendor. Rename, change email or terms, or deactivate (admin).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/contacts/{id}/update
create_item
Create item. Add a product or service with default income/expense account and price (admin).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/items
list_items
List items. Products and services.
- Read-only
- Operation: GET /v1/items
create_invoice
Create invoice. Create and post an invoice (Dr AR, Cr income per line). Within your policy it posts; otherwise (or for a customer with no prior documents) it queues for approval. dry_run previews number, entry and verdict.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/invoices
create_credit_memo
Create credit memo. Post a customer credit memo; apply it to invoices with apply_credit.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/credit-memos
record_bill
Record bill. Record and post a vendor bill (Dr expense per line, Cr AP). Same governance as create_invoice; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bills
create_vendor_credit
Create vendor credit. Post a vendor credit; apply it to bills with apply_credit.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/vendor-credits
list_documents
List documents. Invoices, credit memos, bills and vendor credits with open balance and status (filter by kind, side, status incl. overdue/unpaid, customer/vendor, dates).
- Read-only
- Operation: GET /v1/documents
get_document
Get document. A document with lines and applied payments/credits.
- Read-only
- Operation: GET /v1/documents/{id}
void_document
Void document. Void a document by posting the exact reversal (approve scope). Invoices/bills need their payments/credits voided first. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/documents/{id}/void
apply_credit
Apply credit. Apply a credit memo / vendor credit to open invoices / bills of the same customer / vendor.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/documents/{id}/apply
receive_payment
Receive payment. Record a customer payment applied to invoices; give bank_line_id to turn an unmatched deposit line into the payment (it is categorized). Same governance as propose; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/payments/received
pay_bills
Pay bills. Pay vendor bills from a bank/card account, optionally from an unmatched bank or card line (bank_line_id).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/payments/made
list_payments
List payments. Payments received and made.
- Read-only
- Operation: GET /v1/payments
get_payment
Get payment. A payment with its applications.
- Read-only
- Operation: GET /v1/payments/{id}
void_payment
Void payment. Void a payment (approve scope): reversal posted, documents reopen, its bank line returns to unmatched.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/payments/{id}/void
get_ar_aging
AR aging. Receivables by days past due as of a date, with the AR control-account tie-out.
- Read-only
- Operation: GET /v1/reports/ar-aging
get_ap_aging
AP aging. Payables by days past due as of a date, with the AP control-account tie-out.
- Read-only
- Operation: GET /v1/reports/ap-aging
list_audit_events
Audit events. Audit events, filtered by actor type/id, model or action prefix; newest first with order=desc.
- Read-only
- Operation: GET /v1/audit/events
list_audit_actors
Audit actors. Every person, agent (per declared model) and system process that acted on these books.
- Read-only
- Operation: GET /v1/audit/actors
create_session
Open web session. Open a browser session with a person's key (agents are refused).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/sessions
list_sessions
List sessions. Your active web sessions.
- Read-only
- Operation: GET /v1/sessions
revoke_session
Revoke session. Sign a web session out.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/sessions/{id}/revoke
create_qbwc_connection
Create Desktop migration connection. Create a read-only Web Connector migration connection (people only). Returns the password and the single-use .qwc download token once.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbwc/connections
list_qbwc_connections
List Desktop migration connections. Web Connector migration connections with status, phase and percent complete.
- Read-only
- Operation: GET /v1/migrations/qbwc/connections
get_qbwc_connection
Desktop migration progress. One connection with progress per extraction step, its bundle and its import attempts.
- Read-only
- Operation: GET /v1/migrations/qbwc/connections/{id}
download_qbwc_file
Download .qwc file. Redeem the single-use download token for the .qwc file (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbwc/connections/{id}/qwc
get_qbwc_tieout
Extraction tie-out. The extraction's tie-out: trial balance per month-end to the cent, coverage, per-document checks, AR/AP aging.
- Read-only
- Operation: GET /v1/migrations/qbwc/connections/{id}/tieout
revoke_qbwc_connection
Revoke Desktop migration connection. Revoke a connection with a reason; Web Connector is refused from then on. Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbwc/connections/{id}/revoke
unlock_qbwc_connection
Unlock Desktop migration connection. Unlock a connection after a brute-force lockout.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbwc/connections/{id}/unlock
import_qbwc_bundle
Import Desktop migration. Import the finished extraction into these empty books (people only); the ledger's own tie-out decides imported or failed.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbwc/connections/{id}/import
list_migrations
List migrations. Migration imports with their tie-out results and cutover.
- Read-only
- Operation: GET /v1/migrations
cutover_migration
Cut over. Cut over after an imported migration whose tie-out passed (people only); revokes its connection.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/{id}/cutover
create_sales_receipt
Create sales receipt. Record a sale paid on the spot (Dr deposit account, Cr income, plus sales tax). Same governance as create_invoice; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/sales-receipts
apply_payment
Apply payment. Apply a payment's unapplied amount (credit on account, deposit, prepayment) to open invoices or bills of the same customer or vendor.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/payments/{id}/apply
create_refund
Refund customer. Refund a customer from the unapplied part of a payment (payment_id) or a credit memo (credit_id). Same governance as create_invoice; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/refunds
record_vendor_refund
Record vendor refund. Record money a vendor paid back from the unapplied part of a payment made (payment_id) or a vendor credit (credit_id). Same governance as record_bill; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/vendor-refunds
render_document_pdf
Render document PDF. Render an invoice, credit memo or sales receipt as a PDF; returns {filename, sha256, bytes, pdf_base64}. Nothing is sent.
- Read-only
- Operation: GET /v1/documents/{id}/pdf
create_estimate
Create estimate. Create an estimate for a customer (never posts). dry_run previews number and totals.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/estimates
list_estimates
List estimates. Estimates with status (open, accepted, declined, converted, void) and expiry.
- Read-only
- Operation: GET /v1/estimates
get_estimate
Get estimate. One estimate with its lines.
- Read-only
- Operation: GET /v1/estimates/{id}
set_estimate_status
Set estimate status. Mark an estimate accepted, declined or open again, or void it with a reason.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/estimates/{id}/status
convert_estimate
Convert estimate. Turn an open or accepted estimate into an invoice through the invoice governance (proposal above policy); the estimate is marked converted.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/estimates/{id}/convert
render_estimate_pdf
Render estimate PDF. Render an estimate as a PDF; returns {filename, sha256, bytes, pdf_base64}. Nothing is sent.
- Read-only
- Operation: GET /v1/estimates/{id}/pdf
create_tax_agency
Create tax agency. Add a sales-tax agency.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/tax-agencies
list_tax_agencies
List tax agencies. Sales-tax agencies.
- Read-only
- Operation: GET /v1/tax-agencies
create_combined_tax_rate
Create combined tax rate. Combine 2-10 single-agency rates (state + county + city) into one rate for documents; each jurisdiction's tax posts to its own agency's payable account.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/tax-rates/combined
create_tax_rate
Create tax rate. Add a sales-tax rate (percent, up to 4 decimals) for an agency, collected into a liability account. Never edited; add a new rate instead.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/tax-rates
list_tax_rates
List tax rates. Sales-tax rates with their agency and payable account.
- Read-only
- Operation: GET /v1/tax-rates
set_tax_rate_status
Set tax rate status. Deactivate or reactivate a tax rate, with a reason.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/tax-rates/{id}/status
get_sales_tax_report
Sales-tax liability. Sales-tax liability for a period by rate, jurisdiction, agency and month or quarter (group_by), with the payable balances and the ledger tie-out per agency.
- Read-only
- Operation: GET /v1/reports/sales-tax
create_recurring_template
Create recurring template. Schedule a recurring invoice or bill (weekly, monthly, quarterly, yearly). Nothing posts until it is run.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/recurring-templates
list_recurring_templates
List recurring templates. Recurring templates with their next occurrence.
- Read-only
- Operation: GET /v1/recurring-templates
get_recurring_template
Get recurring template. A recurring template with every occurrence generated so far.
- Read-only
- Operation: GET /v1/recurring-templates/{id}
update_recurring_template
Pause or resume template. Pause or resume a recurring template, or change its end date.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/recurring-templates/{id}/update
run_recurring_template
Run recurring template. Generate the template's due occurrences through a date, each through the invoice/bill governance, once per date. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/recurring-templates/{id}/run
run_due_recurring
Run due recurring templates. Run every active template through a date (default today): call it daily from a scheduler agent. Idempotent per occurrence.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/recurring/run
grant_firm_access
Grant firm access. Grant an accounting firm access to this company (the company's own people): scopes cap every firm member and agent here; billing flag recorded only.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm-access
list_firm_access
List firm access. Firms with access to this company, live and revoked.
- Read-only
- Operation: GET /v1/firm-access
revoke_firm_access
Revoke firm access. Revoke a firm's access with a reason; effective on its next request. Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm-access/{id}/revoke
update_firm_access
Update firm billing flag. Change the record-only billing flag (firm or client) of a live grant.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm-access/{id}/update
get_firm
Firm and me. The caller's firm and who the caller is (firm credentials).
- Read-only
- Operation: GET /v1/firm
create_firm_member
Add firm member. Add a firm member (firm admin); they appear in every client that granted the firm access.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/members
list_firm_members
List firm members. Firm members and roles.
- Read-only
- Operation: GET /v1/firm/members
remove_firm_member
Remove firm member. Remove a member (firm admin); their keys and sessions end. Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/members/{id}/remove
create_firm_key
Mint firm key. Mint a firm key for a member or firm agent (firm admin); the secret is returned once.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/keys
list_firm_keys
List firm keys. Firm keys by prefix (never secrets).
- Read-only
- Operation: GET /v1/firm/keys
revoke_firm_key
Revoke firm key. Revoke a firm key and its sessions.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/keys/{id}/revoke
create_firm_agent
Register firm agent. Register a firm agent (firm admin); it acts only in clients it is assigned to.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/agents
list_firm_agents
List firm agents. Firm agents with client assignments and per-client thresholds.
- Read-only
- Operation: GET /v1/firm/agents
assign_firm_agent
Assign firm agent. Assign a firm agent to a client with that client's posting threshold (upsert).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/agents/{id}/assign
unassign_firm_agent
Unassign firm agent. Stop a firm agent acting in one client.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/agents/{id}/unassign
revoke_firm_agent
Revoke firm agent. Revoke a firm agent everywhere, with its keys. Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/agents/{id}/revoke
list_firm_clients
Firm console. Every client with status at a glance: unreconciled accounts, proposal queue, period locks, overdue AR, last activity, migration.
- Read-only
- Operation: GET /v1/firm/clients
create_firm_client
Create client company. Create a client company with its owner, a firm-billed grant to this firm and a single-use owner invitation (returned once) to hand to the owner; the firm never gets a company key.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/clients
create_owner_invite
Reissue owner invitation. Issue a new owner invitation for a client the firm created (replaces an unclaimed one).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/clients/{id}/owner-invite
rotate_firm_key
Rotate firm key. Rotate a firm key (firm admin, or your own key): new secret once, the old key works for the overlap window.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/keys/{id}/rotate
list_api_keys
List API keys. API keys with expiry, last use, rate budget and status (admins: all; others: your own). Never secrets.
- Read-only
- Operation: GET /v1/keys
get_api_key
API key. One API key's lifecycle (admins: any; others: your own).
- Read-only
- Operation: GET /v1/keys/{id}
rotate_api_key
Rotate API key. Rotate a key (admins: any; agents and people: the key they call with). Returns the new secret once; the old key works for overlap_seconds (default 86400, max 604800).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/keys/{id}/rotate
claim_owner_invite
Claim company ownership. The owner claims a firm-created company with the invitation as Bearer token; returns the owner key once.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/owner-invites/claim
lock_client_periods
Lock periods across clients. Bulk: lock the period containing a date in each selected client, each separately audited; per-client results. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/clients/lock-period
set_firm_kill_switch
Firm kill switch. Suspend or resume every firm agent's writes in every client.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/kill-switch
create_firm_session
Open firm session. Open a firm web session with a member's firm key (token shown once).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/sessions
list_firm_sessions
List firm sessions. Your active firm sessions.
- Read-only
- Operation: GET /v1/firm/sessions
revoke_firm_session
Revoke firm session. Sign a firm session out.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/sessions/{id}/revoke
verify_firm_audit
Verify firm audit chain. Verify the firm's own audit hash chain.
- Read-only
- Operation: GET /v1/firm/audit/verify
list_firm_audit_events
Firm audit events. The firm's audit events, newest first.
- Read-only
- Operation: GET /v1/firm/audit/events
close_period_check
Close checklist. The month-end close checklist for the period containing a date: reconciliations, proposal queue, unapplied payments, AR/AP aging tie-out, sales-tax review, lock; each item pass/fail with its evidence.
- Read-only
- Operation: GET /v1/close/checklist
review_sales_tax
Review sales tax for close. Sign off the period's sales-tax liability as reviewed (people only; agents are refused).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/close/sales-tax-review
close_period
Close period. Lock the period only if every checklist item passes (else close_incomplete with the failing items). People only. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/close/lock
list_client_proposals
Approval queue across clients. Firm credentials: pending proposals in every client, filtered by client, agent, amount and age.
- Read-only
- Operation: GET /v1/firm/proposals
decide_client_proposals
Batch approve or reject. Firm members: approve or reject many proposals across clients; each decided and audited in its own company; per-item results. dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/firm/proposals/decide
list_client_close_status
Close status across clients. Firm credentials: the close checklist of a period in every client.
- Read-only
- Operation: GET /v1/firm/close
create_qbo_connection
Start QuickBooks Online migration. Start a QuickBooks Online migration for an export date (people only). Returns Intuit's consent URL once.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections
list_qbo_connections
List QuickBooks Online migrations. QuickBooks Online migration connections with status, estimate and last run.
- Read-only
- Operation: GET /v1/migrations/qbo/connections
get_qbo_connection
QuickBooks Online migration. One connection with its bundle and import attempts.
- Read-only
- Operation: GET /v1/migrations/qbo/connections/{id}
authorize_qbo_connection
Finish Intuit consent. Finish Intuit's consent with the code, state and realm id from the callback (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections/{id}/authorize
estimate_qbo_extraction
Estimate QuickBooks Online reads. Count records and estimate the extraction's metered calls against this month's budget.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections/{id}/estimate
extract_qbo_company
Extract QuickBooks Online company. Read the company (lists, transactions, reports), build the bundle, run the tie-out and the disclosure report.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections/{id}/extract
get_qbo_tieout
QuickBooks Online tie-out. The extraction's tie-out: trial balance per month-end to the cent, coverage, per-document checks, aging.
- Read-only
- Operation: GET /v1/migrations/qbo/connections/{id}/tieout
get_qbo_disclosure
What QuickBooks Online cannot export. Per company: what was not exported or migrated (audit log, reconciliation state, bank rules, attachments, ...) and how it is handled.
- Read-only
- Operation: GET /v1/migrations/qbo/connections/{id}/disclosure
import_qbo_bundle
Import QuickBooks Online migration. Import the extraction into these empty books (people only); the ledger's own tie-out decides imported or failed.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections/{id}/import
revoke_qbo_connection
Revoke QuickBooks Online connection. Revoke the connection's tokens at Intuit and wipe them here. Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/migrations/qbo/connections/{id}/revoke
get_qbo_usage
QuickBooks Online read budget. This month's metered QuickBooks Online reads against the deployment's budget.
- Read-only
- Operation: GET /v1/migrations/qbo/usage
get_item
Get item. One product or service with its prices, accounts and taxable flag.
- Read-only
- Operation: GET /v1/items/{id}
update_item
Edit item. Edit a product or service (name, kind, description, prices, income/purchase accounts, taxable) or deactivate/reactivate it (admin scope). dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/items/{id}/update
record_expense
Record expense. Record money already spent without a bill (Dr expense lines, Cr the bank, cash or card account); payee optional; receipt metadata optional. Same governance as record_bill; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/expenses
write_check
Record check. Record a check written from a bank or cash account (number = check number, default next). Same governance as record_bill; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/checks
transfer_money
Transfer between accounts. Move money between two bank, cash or card accounts (to savings, paying the card). Same governance as any entry; dry_run previews.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/transfers
add_document_attachment
Attach receipt metadata. Record a receipt's metadata (file name, type, size, SHA-256, note) on a posted document; the file itself is not stored. Append-only.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/documents/{id}/attachments
get_account_register
Account register. An account's lines in a date range with running balance, source document/payment/entry, the other side and reconciled flag.
- Read-only
- Operation: GET /v1/accounts/{code}/register
search_books
Search the books. Search transactions (number, amount, memo, reference, payee), customers and vendors, products and services, accounts.
- Read-only
- Operation: GET /v1/search
get_dashboard
Dashboard. P&L this month and year to date, cash at the last 12 month-ends, AR/AP with overdue, bank accounts with unreconciled lines.
- Read-only
- Operation: GET /v1/dashboard
get_sales_by_customer
Sales by customer. Income by customer for a date range (accrual), tied to the P&L.
- Read-only
- Operation: GET /v1/reports/sales-by-customer
get_sales_by_item
Sales by item. Quantity and amount by product or service for a date range.
- Read-only
- Operation: GET /v1/reports/sales-by-item
get_expenses_by_vendor
Expenses by vendor. Expenses by vendor for a date range (accrual), tied to the P&L.
- Read-only
- Operation: GET /v1/reports/expenses-by-vendor
get_ar_detail
Receivables detail. Open invoices, credits and customer payments by customer as of a date, with the AR tie-out.
- Read-only
- Operation: GET /v1/reports/ar-detail
get_ap_detail
Payables detail. Open bills, vendor credits and prepayments by vendor as of a date, with the AP tie-out.
- Read-only
- Operation: GET /v1/reports/ap-detail
get_transaction_list
Transaction list. Every posted entry in a date range: source, contact, accounts, amount.
- Read-only
- Operation: GET /v1/reports/transaction-list
get_1099_summary
1099 summary. Payments to 1099 vendors for a calendar year against the filing threshold, tax ID on file (last 4 only), and vendors to review.
- Read-only
- Operation: GET /v1/reports/1099-summary
email_document
Email invoice, credit memo or receipt. Email a document to the customer as a PDF (default: the customer's email on file; optional cc, message). Over your threshold, to another address, or a first email to that customer, it waits for approval. dry_run previews recipients, subject and verdict.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/documents/{id}/email
email_estimate
Email estimate. Email an estimate to the customer as a PDF; same governance as email_document.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/estimates/{id}/email
list_emails
List emails. This company's emails (documents, reminders, security notices) with delivery status; filter by status (pending_approval, queued, sent, failed...).
- Read-only
- Operation: GET /v1/email/outbox
get_email
Get email. One email with its delivery status, attempts and last error.
- Read-only
- Operation: GET /v1/email/outbox/{id}
approve_email
Approve email. Approve an agent's email waiting for approval (approve scope; never your own).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/email/outbox/{id}/approve
reject_email
Reject email. Reject an agent's email waiting for approval, with a reason (approve scope; never your own).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/email/outbox/{id}/reject
cancel_email
Cancel email. Cancel an email not sent yet (its requester, or an admin).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/email/outbox/{id}/cancel
retry_email
Retry email. Queue a failed email again (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/email/outbox/{id}/retry
get_email_settings
Email settings. Reply-To, sender name, security-notice address, payment reminders (off by default) and whether email is available.
- Read-only
- Operation: GET /v1/email/settings
update_email_settings
Update email settings. Set Reply-To, sender name, the security-notice address, and turn payment reminders on with reminder days relative to the due date (admin scope).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/email/settings
list_email_suppressions
Email suppressions. Addresses not emailed (unsubscribed from reminders or bounced).
- Read-only
- Operation: GET /v1/email/suppressions
list_bank_feeds
List bank feeds. Bank feeds (Plaid connections): status, accounts and which bank account each feeds, last sync, plan usage.
- Read-only
- Operation: GET /v1/bank-feeds
get_bank_feed
Bank feed. One bank feed with its accounts, health (reconnect needed, consent expiry) and last sync.
- Read-only
- Operation: GET /v1/bank-feeds/{id}
sync_bank_feed
Sync bank feed. Pull new posted transactions from the bank now; they arrive as unmatched bank lines for auto-match, rules and categorization.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/sync
create_bank_feed_link_token
Plaid Link token. A Plaid Link token for a person's browser to connect (or, with bank_feed_id, reconnect) a bank (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/link-token
connect_bank_feed
Connect bank feed. Finish connecting a bank with Plaid Link's public_token (people only); lists the bank's accounts for linking.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds
link_bank_feed_account
Link bank-feed account. Feed an account at the bank into a bank account (people only; plan-limited).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/accounts/link
unlink_bank_feed_account
Unlink bank-feed account. Stop feeding a bank account from a connection (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/accounts/unlink
update_bank_feed_settings
Bank feed settings. Import pending transactions too, or posted only (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/settings
reconnected_bank_feed
Refresh reconnected bank. After the person reconnected in Plaid Link: refresh health and accounts (people only).
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/reconnected
disconnect_bank_feed
Disconnect bank feed. Remove the bank connection at Plaid and wipe its token here (people only). Final.
- Writes (pass idempotency_key, or dry_run where offered)
- Operation: POST /v1/bank-feeds/{id}/disconnect