Canopy APIConnect Canopy without building on its API
Canopy has an Open API (REST, with a published OpenAPI spec). Firms request access, then generate API keys in Canopy's admin console, with a sandbox tenant to build against. Canopy's legacy API is being retired in May 2027. If you're reading the docs because you need Canopy to talk to the rest of your stack, Caddi does that without you writing or maintaining integration code: you show it the job once, and it runs it across Canopy and your other tools.
- APIREST (OpenAPI)
- AuthAPI keys
- AccessApproval required
What the Canopy API gives you
- Type
- REST (OpenAPI)
- Authentication
- API keys
- Who can get access
- Firms request access, then generate API keys in Canopy's admin console, with a sandbox tenant to build against. Canopy's legacy API is being retired in May 2027.
- What it covers
- Clients, contacts, tasks, client requests and custom fields, plus document upload. Billing and time reporting are marked as coming soon.
- Worth knowing
- Accounts receivable data isn't available, and documents can be uploaded but not read.
Official docs: getcanopy.com. Checked September 2026. Vendors change access terms, so confirm with Canopy before you build.
Building on the Canopy API vs. having Caddi run it
| The job | Build it on the API | With Caddi |
|---|---|---|
| Getting access | Register an app, get Canopy credentials, and manage tokens and refreshes. | Connect your Canopy account once. Caddi holds the connection. |
| Writing the integration | A developer maps fields, handles pagination, retries and rate limits, and writes the sync. | You show Caddi the Canopy task the way you'd train a new hire. It writes verified code for it. |
| Steps the API doesn't cover | Screens with no endpoint stay manual, or need a separate RPA tool. | Caddi uses a secure, audited browser session where there's no API, in the same automation. |
| The other systems in the loop | Each extra tool is another API, another set of credentials, another integration to own. | One automation runs across all the tools the job touches. |
| Keeping it running | Someone owns the code when the API version, fields or your process change. | Every automation is reviewed before it runs in production, and every run is logged. |
Building on the API is the right call when you have engineers and the integration is your product. When the goal is getting Canopy work off someone's desk, the build is the slow part.
What teams usually want the Canopy API for
Email to task
Caddi classifies inbound client email and attachments and creates or advances the matching Canopy task with the right owner.
Document request chase
Caddi pursues outstanding client documents on the firm's cadence and closes the task once received.
Client and billing sync
Caddi keeps the Canopy client record aligned with the ledger and drafts the invoice from completed work.
Canopy API questions
Does Canopy have an API?
Yes. Canopy has an Open API (REST, with a published OpenAPI spec), authenticated with API keys. The official documentation is at https://www.getcanopy.com/api/.
How do I get access to the Canopy API?
Firms request access, then generate API keys in Canopy's admin console, with a sandbox tenant to build against. Canopy's legacy API is being retired in May 2027.
Can I connect Canopy to my other tools without writing code against its API?
Yes. With Caddi you show the Canopy task once, the way you'd train a new hire, and Caddi builds it as verified code that runs across Canopy and the other tools the job touches. Where a step has no API, Caddi uses a secure, audited browser session in the same automation.
Do I need a developer to automate Canopy with Caddi?
No. There is no integration code for you to write or maintain. Every automation Caddi builds for Canopy is reviewed before it runs in production, and every run is logged.
Connect Canopy without the build.
Drop your work email and pick a time. We'll show you Caddi running your Canopy workflow end to end.