Invoicing & freelance CRM
Dubsado
Projects, proposals, contracts and invoices for creative businesses.
14 endpoints
Holded's API is only on paid plans, and it takes an API key and code you write and host to create invoices, record bills or chase payments. Sign in to Holded once in your own Cloud Browser, and your AI agent does the work there for you. The same tools work over MCP for agents and as a REST API for scripts.
Not affiliated with Holded.
| What you need | Holded's API | GitHub MCP server | Cotlet |
|---|---|---|---|
| Invoices, bills, payments, contacts | No | Partly | Yes, 12 tools |
| Acts as you, signed in 24/7 | No | No | Yes, Cloud Browser |
| Fixed for you when Holded changes | N/A | No | Yes, tested every 6h |
| Runs with your laptop off | N/A | No | Yes, hosted |
Checked Oct 14, 2026. Sources: Holded Help: Generate and manage your API key · Holded on Zapier: triggers and actions · Holded Help: Create an invoice · Holded Help: Send your invoices by email
AI agents connect over MCP, scripts call the REST API. Both reach the same 12 tools with one API key.
Add Cotlet to your agent once. Holded and every other app you connect show up as its tools.
claude mcp add --transport http cotlet \
https://cotlet.dev/mcp/v1 \
--header "Authorization: Bearer $COTLET_API_KEY" {
"mcpServers": {
"cotlet": {
"url": "https://cotlet.dev/mcp/v1",
"headers": {
"Authorization": "Bearer ${COTLET_API_KEY}"
}
}
}
} # ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY" Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.
Every tool is an endpoint under /api/v1/holded with its own method and path, such as POST /api/v1/holded/contacts/{contact_id}/invoices, with the same API key. Our open-source repo has ready scripts to start from.
12 tools on your own Holded account. Agents call them as operations of the MCP tools holded_read and holded_write; scripts call each one at its own REST endpoint, with the same inputs and answers.
| Tool | What it does | Access |
|---|---|---|
| list_contacts | Contacts with name, type, email and tax ID, newest first. Search by name, email or tax ID. | read |
| get_contact | One contact with email, tax ID, type and tags. | read |
| list_invoices | Sales invoices with number, client, total, due date and payment status, oldest due date first. | read |
| get_invoice | One invoice with lines, taxes, total, payments and approval state. | read |
| list_purchases | Purchase invoices (expenses) with supplier, supplier document number, total and due date, newest first. | read |
| list_products | Products and services you can put on a line, with name, price and tax. | read |
| create_contact | Add a customer, supplier or lead to Holded. | write |
| update_contact | Change a contact's name, type, email or tax ID. | write |
| create_invoice | Create a sales invoice as a draft, or approve it right away. | writeasks first |
| send_invoice | Email an invoice to a recipient from Holded, with a link to the customer portal. | writeasks first |
| add_invoice_payment | Record a payment received on an invoice, in full or in part. | writeasks first |
| create_purchase | Record a supplier bill as a purchase, as a draft or approved. | writeasks first |
Scroll the table for all 12 tools.
You sign in yourself in your own Cloud Browser, we never save your password, and anything that reaches your readers waits for your OK. The browser profile is encrypted in the EU. Independent scanners grade cotlet.dev A+.
One price for both: a tool call costs the same over MCP or REST. Free 7-day trial with 2,000 credits, no card needed. Then one-time credit packs, no subscription, valid 12 months. Most calls use 25 credits, and your Cloud Browser uses 50 credits a day while Holded is enabled for agents, so 20 calls a day come to 550 credits.
| Credits | Price, one time | Calls at 25 credits | Per 1,000 credits |
|---|---|---|---|
| 5,000 | $29 | 200 | $5.80 |
| 15,000 | $79 | 600 | $5.27 |
| 32,000 | $149 | 1,280 | $4.66 |
| 60,000 | $249 | 2,400 | $4.15 |
Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.
Yes, Holded has a REST API, and it is only on paid plans (checked 14 Oct 2026). You create a key in Settings > Developers > Credentials > Add API Token, choose read, write or full access per module, and the plan sets a monthly call limit. Holded has no official MCP server, and the Free plan has no API.
Sign up free, open Holded under Integrations in the console and press Request access. Your free trial starts with your account, no card needed.
No, only the way in. Cotlet builds each integration as a REST API and puts an MCP server on top, so both have the same 12 tools, the same inputs and answers, one API key and one price. AI agents such as Claude, ChatGPT or Cursor use MCP; scripts, cron jobs and HTTP steps in n8n, Make or Zapier use the REST API.
Your own Chrome that Cotlet runs for you in the EU, around the clock. You open it from the console, sign in to Holded yourself and press Enable for agents. Your agent's calls go through it, from its IP with its cookies, so Holded sees the browser you signed in with. Password saving is off and the profile is stored encrypted with AES-256-GCM.
Not on anything that reaches other people: create_invoice, send_invoice, add_invoice_payment, create_purchase wait for your OK by default. You can switch that off per tool for scheduled runs.
Pick one if you want the code on your own computer and do not mind the upkeep: you install it, sign it in and fix it when Holded changes. Pick Cotlet if you want it hosted and kept working for you.
Yes. Add https://cotlet.dev/mcp/v1 in n8n's MCP Client node, or call the REST endpoints from an HTTP step in Make or Zapier.
Cotlet is run by Take Group, a Polish software company working since 2019. Take Group runs about 3,200 websites on its own systems and has its own DevOps team for infrastructure security. We built and used integrations like this inside the company for years before opening them as Cotlet.
No. Cotlet is independent and not affiliated with Holded.
Free 7-day trial with 2,000 credits, no card needed.
May we use Google Analytics to see which pages help people? It sets cookies only if you accept. No ads, and we never sell data. Cookie policy