# Invoice Ninja: L1 · Needs a person

As of 2 Oct 2026, an AI agent can't sign up for Invoice Ninja on its own.

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

Needs a person to get in: L1 · Needs a person. Our agent stopped at sign-up, where Invoice Ninja's web form shows a visible Cloudflare Turnstile challenge; the documented demo sandbox hit the same wall, so no credentials, no first call, and no work was ever driven. The API itself is well documented, with an OpenAPI reference covering a broad range of operations, and the production endpoint answers signed requests with a plain invalid-token response, no bot check. Once a person signs up, verifies and makes a key, REST access is a paid feature, so buying also needs a person at checkout. Our agent never saw the account past the Turnstile page, so cancelling and deleting were never reached either.

_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 OpenAPI and an MCP server)
- Access: Can't sign up
- Use: 0% of the work
- Pay: Payment not reached
- Leave: Nothing to cancel (Can't delete its account)
- Next: let an agent sign up on its own
- With an account set up by a person: not measured yet.

## Level history

- 1 Oct 2026 (2 drives): L1 · Needs a person
- 2 Oct 2026: L1 · Needs a person

## Part scores

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

## Who gets in

- Agents on a server: Turned away when they send the sign-up form.
- Signed agents: The sign-up page opens. The check on the form still applies.
- 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: api-docs.invoicing.co: Redoc page with embedded OpenAPI (v5.12.55, 365 operations), auth via X-API-TOKEN; no llms.txt.
- **Sign up**: Needs a human: The only documented sign-up is the web form at app.invoicing.co/#/register with Cloudflare Turnstile.
- **Verify**: Blocked: Not reached: no account.
- **Key**: Blocked: Not reached. Documented routes: POST /api/v1/login (email+password -> token) and API tokens under Settings > Integrations; REST API access is listed as Pro-only on the pricing page.
- **First call**: Blocked: Production API answers JSON (403 Invalid token) without bot checks, but needs credentials. The documented demo sandbox (demo.invoiceninja.com, token TOKEN) returns a Cloudflare 'Just a moment...' challenge to our signed agent.
- **First action**: Blocked: Not reached: no account and the demo sandbox is behind a Cloudflare challenge.
- **Pay**: Not reached: No 402/x402/MPP/UCP/OAuth discovery anywhere; not listed in x402 Bazaar or mpp.dev. Free plan exists (5 clients, no card), Pro $14/mo and Enterprise from $18/mo upgraded inside the account. That account needs a human at the Turnstile sign-up, so purchasing needs a human; the checkout itself could not be seen.
- **Cancel**: Not needed: Nothing to cancel: our agent used the free plan.
- **Delete**: Not needed: No account was created, nothing to delete. The OpenAPI documents DELETE /api/v1/companies/{id}, not tested.

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

Not an official one. The drive found only third-party MCP servers for Invoice Ninja.

A new agent can't get in on its own: in the drive of 2 Oct 2026, a person on our team set up the account once, then the agent took over.

## How does an AI agent get an Invoice Ninja API key?

In the drive of 2 Oct 2026, our agent was blocked at this step and got no key. Not reached. Documented routes: POST /api/v1/login (email+password -> token) and API tokens under Settings > Integrations; REST API access is listed as Pro-only on the pricing page.

## Paying the agent way

Payment not reached.

It has a free plan.

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 2 Oct 2026.

## What an agent can do

- Read the full API reference and OpenAPI spec headless
- Reach the production API from a datacenter IP and get clear JSON auth errors

## What it cannot do

- Create an account: Sign-up form shows a visible Cloudflare Turnstile checkbox; there is no sign-up API
- Try the API in the public demo sandbox: demo.invoiceninja.com returns a Cloudflare 'Just a moment...' challenge to a signed agent
- Create, send, or get paid on an invoice: No account, so no token
- Use the REST API on the free plan: Pricing page lists REST API access as Pro and above

## Tips for the owner

1. Let verified bot-signed agents pass sign-up
2. Exempt the demo API from Cloudflare challenges
3. Document an agent sign-up and token route
4. Allow API tokens on the free plan
5. Publish llms.txt and a machine-readable spec URL

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

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

## Tips for agent builders

- The API base is https://invoicing.co/api/v1 with headers X-API-TOKEN and X-Requested-With: XMLHttpRequest; errors are JSON.
- Get a token from a human: sign-up has a Turnstile checkbox, and REST API tokens are a Pro feature; POST /api/v1/login (email, password) is documented and returns a token.
- The OpenAPI spec is embedded in the Redoc page at api-docs.invoicing.co (window.__redoc_state).
- The demo sandbox at demo.invoiceninja.com is behind a Cloudflare challenge for agents.
- Third-party MCP servers exist on GitHub; all need an API token.
