What I’m trying to do:
Connect my own FreeAgent company to a third-party app I’ve built (OAuth), to create invoices.
What’s happening:
OAuth completes successfully against production — I receive valid access and refresh tokens. But every authenticated call, including the simplest read, returns a 403.
Exact request:
GET https://api.freeagent.com/v2/company
Authorization: Bearer <valid production token>
User-Agent: <my app name>
Accept: application/json
Exact response:
HTTP 403
{"errors":{"error":{"message":"API access is disabled for this company"}}}
What I’ve established:
- It’s a 403, not a 401 — the token is valid and accepted; the company itself is gated.
- Same result on
GET /v2/company, so it’s not a payload or scope issue. - The app authorised fine and tokens refresh correctly.
- My FreeAgent subscription is the free one provided through Mettle, not a direct paid subscription. The account is active.
My questions:
- What causes “API access is disabled for this company,” and can I resolve it myself?
- Is the REST API available on a Mettle-provided free FreeAgent subscription, or does it require a paid plan? This is the key thing I need confirmed.
- If it can be enabled, what’s the exact step — a company-side flag, a setup stage, or an upgrade?
Thanks!