Quickstart
Walk through defining your permissions end-to-end.
Using the Dashboard
The Permissions page is where you manage this Environment's permission catalog. The header has three entry points; for a first run-through, the Create Permission Group wizard is the most efficient — it lets you define a resource and generate a complete set of permissions for it in one pass.
Create a permission group
invoice, users, document) and click Next. The name becomes the group's category and prefixes every permission inside it.create, read, update, delete. Edit, remove, or add custom actions like approve or archive.Other entry points
First time setting up?
When you land on a fresh Environment — the dashboard seeds every Account with a Development and Production env at signup, both empty — the Overview page shows a banner that reads "Your roles & permissions setup is incomplete." Click Complete Roles & Permissions Setup to open the Setup Guide on its Roles & Permissions tab — an interactive slide-out panel that walks you through every foundational step end-to-end. Each step links directly to the right page and surfaces contextual help alongside, so you don't have to bounce between docs and the dashboard to figure out where to click next.
What the guide walks you through:
Using the API
You can also create permissions through the API instead of using the dashboard. Use this when you want to seed your permission catalog from code, automate setup, or keep Canopy in sync with the actions your application supports. Each API key is scoped to one Environment — POST /api/v1/permissions writes the new permissions into that Environment's catalog and nowhere else.
Endpoint
POST /api/v1/permissionsAuthenticate with your API key in the X-API-Key header.
Example
Send all the permissions you want to create in a single request:
{
"permissions": [
{ "key": "invoice.read", "description": "View invoices", "category": "Invoices" },
{ "key": "invoice.create", "description": "Create invoices", "category": "Invoices" },
{ "key": "invoice.update", "description": "Edit invoices", "category": "Invoices" },
{ "key": "invoice.delete", "description": "Delete invoices", "category": "Invoices" },
{ "key": "invoice.approve", "description": "Approve invoices","category": "Invoices" }
]
}Once created, these permissions appear in your permission catalog and can be assigned to roles.