# Pebble API

**Canonical:** https://apis.io/apis/canonical/pebble-api/  
**Provider:** Canonical — https://apis.io/providers/canonical/  
**Documentation:** https://documentation.ubuntu.com/pebble/

Pebble API is one of 22 APIs that [Canonical](https://apis.io/providers/canonical/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Service Management, Containers, and Init. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

Pebble is Canonical's lightweight service manager, used inside snaps, ROCKs and Kubernetes charm workloads. It exposes a local REST API over a unix socket for managing services, layers, checks, files, exec sessions and notices. Canonical publishes an OpenAPI 3.1.0 contract for it.

## Operations (25)

| Method | Path | Summary |
|---|---|---|
| GET | `/v1/changes` | Get changes |
| GET | `/v1/changes/{id}` | Get a specific change |
| POST | `/v1/changes/{id}` | Perform an action on a change |
| GET | `/v1/changes/{id}/wait` | Wait for a change to complete |
| GET | `/v1/tasks/{task-id}/websocket/{websocket-id}` | Connect to a task's websocket |
| GET | `/v1/checks` | Get checks |
| POST | `/v1/checks` | Manage checks |
| POST | `/v1/checks/refresh` | Refresh a check |
| POST | `/v1/exec` | Execute a command |
| GET | `/v1/files` | Read or list files |
| POST | `/v1/files` | Create, write, remove files/directories |
| GET | `/v1/health` | Health of specified checks |
| GET | `/v1/identities` | Get all identities |
| POST | `/v1/identities` | Manage identities |
| POST | `/v1/layers` | Add a layer to the plan |
| GET | `/v1/logs` | Get service logs |
| GET | `/v1/metrics` | Get Pebble metrics |
| GET | `/v1/notices` | Get notices |
| POST | `/v1/notices` | Create a new notice |
| GET | `/v1/notices/{id}` | Get a specific notice |
| GET | `/v1/plan` | Get the current plan |
| GET | `/v1/services` | List services |
| POST | `/v1/services` | Manage services |
| POST | `/v1/signals` | Send a signal to services |
| GET | `/v1/system-info` | Get system information |

## Machine-readable artifacts (4)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/openapi/canonical-pebble-api-openapi.yml
- **Overlay** — https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/overlays/canonical-pebble-api-overlay.yaml
- **Documentation** — https://documentation.ubuntu.com/pebble/
- **SourceCode** — https://github.com/canonical/pebble

## Other Canonical APIs (12)

- [Snap Store API](https://apis.io/apis/canonical/snap-store-api/)
- [Charmhub API](https://apis.io/apis/canonical/charmhub-api/)
- [snapd REST API](https://apis.io/apis/canonical/snapd-rest-api/)
- [MAAS API](https://apis.io/apis/canonical/maas-api/)
- [Juju Client / Controller API](https://apis.io/apis/canonical/juju-api/)
- [Launchpad Web Services API](https://apis.io/apis/canonical/launchpad-api/)
- [Ubuntu Pro Client API](https://apis.io/apis/canonical/ubuntu-pro-api/)
- [Landscape API](https://apis.io/apis/canonical/landscape-api/)
- [Canonical Assertions API](https://apis.io/apis/canonical/canonical-assertions-api/)
- [Canonical Search API](https://apis.io/apis/canonical/canonical-search-api/)
- [Canonical Snaps API](https://apis.io/apis/canonical/canonical-snaps-api/)
- [LXD REST API](https://apis.io/apis/canonical/lxd-rest-api/)

## Tags

Service Management, Containers, Init

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/canonical/pebble-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/canonical/.
