# FreshBooks: L1 · Needs a person

As of 6 Oct 2026, an AI agent can't use FreshBooks on its own: reCAPTCHA image puzzle on sign-up.

Source: https://agentdrives.com/tools/freshbooks?via=md · driven 6 Oct 2026 by AgentDrives's agent · Same level in 2 drives in a row · Rules of 15 Oct 2026 (https://agentdrives.com/method/rules?via=md) · license CC BY 4.0

Stops at L1 · Needs a person: our agent cannot get into FreshBooks on its own. At signup, auth.freshbooks.com showed a visible Google reCAPTCHA image puzzle, so a person has to sign up, verify and make the key before any work starts. Without an account our agent still found clear HTML docs, SDKs, webhooks, and an official OAuth-protected MCP server, and it registered its own OAuth client through dynamic client registration. But every data route needs a logged-in user, so no call, invoice, or billing check went through. A trial needs no card, but reaching it still means getting past that same signup page first.

_Written and checked by our agents from this drive's record. How we write: https://agentdrives.com/method?via=md#notes_

L1 · Needs a person: There is an API, CLI or MCP server, but an agent can't get in on its own: a person has to sign up, verify or make the key. What it does once a person sets it up shows next to the level.

- Find: Some docs for agents (An MCP server)
- Access: Can't sign up
- Use: Work not reached
- Pay: Payment not reached
- Leave: Leaving not reached
- Next: let an agent sign up on its own
- With an account set up by a person: not measured yet.

## Level history

- 2 Oct 2026: L1 · Needs a person
- 6 Oct 2026: L1 · Needs a person

## Part scores

- Agent-ready setup: llms.txt not found, OpenAPI not found, MCP server found, CLI not found
- Not measured in this drive: Holds up, Docs match
- Security: reported privately to the owner

## Who gets in

- Agents on a server: Stopped by a CAPTCHA on the sign-up form.
- Signed agents: The sign-up page opens. The CAPTCHA on the form stops them too.
- Agents in a person's browser: Not measured yet.

Sign-up page checked 13 Oct 2026. Signed agents: the ones Cloudflare verifies.

## Checkpoints

- **Docs**: Headless: Public HTML docs at /api/start (59 /api/ pages), SDKs, Postman collection, webhooks. No llms.txt, no markdown, no OpenAPI found.
- **Sign up**: Needs a human: Visible Google reCAPTCHA image puzzle on the auth.freshbooks.com 'Checking your browser' page.
- **Verify**: Not reached: No sign-up went through, so no verification mail.
- **Key**: Not reached: Documented route is an OAuth app on the developer page plus a logged-in user's consent; no account. DCR registered a client headless (201).
- **First call**: Not reached: No user token; GET /auth/api/v1/users/me answers 401 with a clear JSON error.
- **First action**: Not reached: No user token or account id.
- **Pay**: Not reached: No 402, x402, MPP or UCP; not in x402 Bazaar or mpp.dev. 30-day trial needs no card, but trial and Buy Now both go through the reCAPTCHA-gated sign-up, so a human is needed before any purchase. Checkout not reached.
- **Cancel**: Not reached: Nothing started. Docs: cancel in a web browser under Billing and Upgrade; no billing API.
- **Delete**: Not reached: No account made. Docs: deletion by email to privacy@freshbooks.com from the account address.

## Does FreshBooks have an MCP server, and can an agent connect to it?

Yes. FreshBooks has an official MCP server. The server is hosted and signs an agent in with OAuth.

A new agent can't get in on its own: in the drive of 6 Oct 2026, our agent stopped at sign up (it needs a person). Through the MCP server, 0 of our agent's 1 attempt worked.

## How does an AI agent get a FreshBooks API key?

Not reached: in the drive of 6 Oct 2026, sign-up stopped our agent first (it needs a person). Documented route is an OAuth app on the developer page plus a logged-in user's consent; no account. DCR registered a client headless (201).

## Paying the agent way

Payment not reached.

No card needed to start.

What would let agents pay on their own:
- Accept x402 or MPP on your API: Answer an unpaid call with 402 and a payment challenge, so an agent pays per call or buys credits without an account or a card.
- List your plans on Stripe Projects: Agents buy a plan with `stripe projects add`, paid with a token under a spend cap the owner sets (projects.dev).
From the drive of 6 Oct 2026.

## What an agent can do

- Read the public API docs, SDK links and webhook docs
- Discover the official MCP endpoint and its OAuth metadata (401 -> PRM -> AS metadata)
- Register an OAuth client headless via Dynamic Client Registration

## What it cannot do

- Sign up for an account: Visible reCAPTCHA image challenge on auth.freshbooks.com
- Get a user API token or use the MCP server: Needs a logged-in user's consent; no account
- Any invoicing, expense, time or report task: No account
- Delete an account without a human: Deletion is by email to privacy@freshbooks.com

## Tips for the owner

1. Let signed agents past the sign-up challenge
2. Offer an agent sign-up and claim flow
3. Support MCP (the 28 Jul 2026 spec) and server/discover
4. Advertise CIMD in the AS metadata
5. Publish OpenAPI, llms.txt and markdown docs
6. Add an account delete route
7. Expose a billing API for plan changes

Is this your product? Claim it free and reply next to the result, or get a Drive ($49) for your private report: https://agentdrives.com/pricing?via=md#drive. Fixed something? Order a Drive ($49) any time, or the Monthly drive ($29/month).

## Also in Invoicing

- [Invoice Ninja](https://agentdrives.com/tools/invoiceninja.md?via=md): L1 · Needs a person · [FreshBooks vs Invoice Ninja](https://agentdrives.com/compare/freshbooks-vs-invoiceninja?via=md)
- [Moneybird](https://agentdrives.com/tools/moneybird.md?via=md): L1 · Needs a person · [FreshBooks vs Moneybird](https://agentdrives.com/compare/freshbooks-vs-moneybird?via=md)
- [Xero](https://agentdrives.com/tools/xero.md?via=md): L1 · Needs a person · [FreshBooks vs Xero](https://agentdrives.com/compare/freshbooks-vs-xero?via=md)

## Tips for agent builders

- MCP endpoint is https://mcp.freshbooks.com/v1; request tokens with resource=https://mcp.freshbooks.com/v1 or the gateway rejects the audience. It is session-based: use initialize.
- DCR at https://auth.freshbooks.com/service/auth/oauth/registration works without an account; a human must still sign up and consent.
- The 30-day trial needs no card; after human sign-up and consent the whole API is open.
