> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agent-auth`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Permission events

This page documents the webhook events related to permission operations in Scalekit.

----

## Permission events

### `permission.created`

This webhook is triggered when a new permission is created. The event type is `permission.created`

```json title="permission.created"
{
  "environment_id": "env_1234567890",
  "id": "evt_1234567890",
  "object": "Permission",
  "occurred_at": "2024-01-15T10:30:00.123456789Z",
  "spec_version": "1",
  "type": "permission.created",
  "data": {
    "description": "Permission to manage data",
    "id": "perm_1234567890",
    "name": "data:manage"
  }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier for the permission |
| `name` | string | Unique name identifier for the permission |
| `description` | string | Description of what the permission allows |

### `permission.updated`

This webhook is triggered when a permission is updated. The event type is `permission.updated`

```json title="permission.updated"
{
  "environment_id": "env_1234567890",
  "id": "evt_2345678901",
  "object": "Permission",
  "occurred_at": "2024-01-15T10:35:00.123456789Z",
  "spec_version": "1",
  "type": "permission.updated",
  "data": {
    "description": "Updated permission to manage all data",
    "id": "perm_1234567890",
    "name": "data:manage"
  }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier for the permission |
| `name` | string | Unique name identifier for the permission |
| `description` | string | Description of what the permission allows |

### `permission.deleted`

This webhook is triggered when a permission is deleted. The event type is `permission.deleted`

```json title="permission.deleted"
{
  "environment_id": "env_1234567890",
  "id": "evt_3456789012",
  "object": "Permission",
  "occurred_at": "2024-01-15T10:40:00.123456789Z",
  "spec_version": "1",
  "type": "permission.deleted",
  "data": {
    "description": "Updated permission to manage all data",
    "id": "perm_1234567890",
    "name": "data:manage"
  }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `id` | string | Unique identifier for the deleted permission |
| `name` | string | Unique name identifier for the deleted permission |
| `description` | string | Description of what the permission allowed |

---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
