Passbolt — API
Passbolt APIv5.0.0 Read the vendor's spec ↗
- 98 endpoints
- 3 versions archived since Jul 20, 2026
- Last checked Sep 22, 2026
This is a low-level overview of the API and its endpoints, if you need higher-level guides for interacting with the endpoints, use the Developer guide.
Get started
$ curl "https://passbolt.local/tags.json" \
-H "Authorization: Bearer $TOKEN"
Set $TOKEN first, then paste.
- Base URL
-
https://passbolt.local - Authenticate
-
Bearer token in the Authorization header
Bearer token using a JWT
1 other scheme
- API key in the passbolt_session cookie
What it covers
- Groups 7 Organize users in logical groups to make it easier to share resources with them.
- Metadata Keys 6 Manipulate metadata keys.
- Metadata Rotate Key 6 Gather information about metadata keys that needs to be rotated
- Metadata Upgrade 6 Upgrading elements to the new v5 metadata format
- Users 6 User are entities with the ability to interact with the application.
- Authentication (gpgauth) 5 The legacy authentication method, using the GPGAuth protocol.
- Authentication (jwt) 5 JWT-based authentication is the preferred way to interact with the Passbolt API.
- Folders 5 Organize your passwords and share them in bulk using folders.
- Resources 5 A resource holds the metadata for its secrets.
- Action Logs 4 Read the activity of an entity, or the raw action log.
- Comments 4 Manipulate comments for resources.
- Metadata Session Key 4 Gather information on the saved encrypted session keys cache
17 more areas
- Resource Types 4 Resource-types are used for describing how and what data is stored for a resource and its associated secrets.
- Shares 4 Share resources and folders to users with an exhaustive permission system.
- Multi Factor Authentication 3 Complete and validate authentication for users with MFA enabled.
- Offline Mode 3 Configure the organisation settings that enable Offline mode and set the session duration, the data retention period and the item limit.
- Tags 3 Get tags and add tags to resources to categorize them.
- Directory Sync 2 Run directory synchronization.
- Favorites 2 The favorite endpoints are used to add or remove a Resource from your favorites.
- Gpg Keys 2 In order to encrypt information, the server and the clients needs the user's public keys.
- Healthcheck 2 Gather data about the passbolt instance's health.
- Metadata Private Keys 2 Manipulate private keys for metadata.
- Metadata Types Settings 2 Retrieve information about the resource types settings selected by the administrators
- Avatars 1 Query avatar images.
- Move 1 Move a folder or a resource across folders.
- Permissions 1 Query permissions for resources.
- Roles 1 Different categories of users.
- Secrets 1 Secrets associated to resources.
- Settings 1 Retrieve the server settings
Open an endpoint for a runnable command, its inputs and what it returns.
Groups 7
-
DELETE
/groups/{groupId}.jsonDelete a group.Loading…
-
DELETE
/groups/{groupId}/dry-run.jsonDry run a group deletion.Loading…
-
GET
/groups.jsonGet multiple groups.Loading…
-
GET
/groups/{groupId}.jsonGet a group.Loading…
-
POST
/groups.jsonCreate a group.Loading…
-
PUT
/groups/{groupId}.jsonUpdate a group.Loading…
-
PUT
/groups/{groupId}/dry-run.jsonDry run a group update.Loading…
Metadata Keys 6
-
DELETE
/metadata/keys/{metadataKeyId}.jsonDelete a metadata key.Loading…
-
GET
/metadata/keys.jsonGet metadata keys.Loading…
-
GET
/metadata/keys/settings.jsonGet metadata keys settings.Loading…
-
POST
/metadata/keys.jsonCreate a metadata key.Loading…
-
POST
/metadata/keys/settings.jsonUpdate metadata keys settings.Loading…
-
PUT
/metadata/keys/{metadataKeyId}.jsonMark a metadata key as expired.Loading…
Metadata Rotate Key 6
-
GET
/metadata/rotate-key/folders.jsonGet folders with expired keysLoading…
-
GET
/metadata/rotate-key/resources.jsonGet resources with expired keysLoading…
-
GET
/metadata/rotate-key/tags.jsonGet tags with expired keysLoading…
-
POST
/metadata/rotate-key/folders.jsonRotate expired metadata keys for foldersLoading…
-
POST
/metadata/rotate-key/resources.jsonRotate expired metadata keys for resourcesLoading…
-
POST
/metadata/rotate-key/tags.jsonRotate expired metadata keys for tagsLoading…
Metadata Upgrade 6
-
GET
/metadata/upgrade/folders.jsonGet Upgradable FoldersLoading…
-
GET
/metadata/upgrade/resources.jsonGet Upgradable ResourcesLoading…
-
GET
/metadata/upgrade/tags.jsonGet Upgradable TagsLoading…
-
POST
/metadata/upgrade/folders.jsonUpgrade a folderLoading…
-
POST
/metadata/upgrade/resources.jsonUpgrade a ResourceLoading…
-
POST
/metadata/upgrade/tags.jsonUpgrade a tagLoading…
Users 6
-
DELETE
/users/{userId}.jsonDelete a user.Loading…
-
DELETE
/users/{userId}/dry-run.jsonDry run a user deletion.Loading…
-
GET
/users.jsonGet multiple users.Loading…
-
GET
/users/{userId}.jsonGet a user.Loading…
-
POST
/users.jsonCreate a user.Loading…
-
PUT
/users/{userId}.jsonUpdate a user.Loading…
Authentication (gpgauth) 5
-
GET
/auth/is-authenticated.jsonCheck authentication status.Loading…
-
GET
/auth/verify.jsonGet the server's public PGP key.Loading…
-
POST
/auth/login.jsonLog in.Loading…
-
POST
/auth/logout.jsonLog out.Loading…
-
POST
/auth/verify.jsonVerify the server's identity.Loading…
Authentication (jwt) 5
-
GET
/auth/jwt/jwks.jsonGet the JWKs server information.Loading…
-
GET
/auth/jwt/rsa.jsonGet the JWT RSA server information.Loading…
-
POST
/auth/jwt/login.jsonLogin.Loading…
-
POST
/auth/jwt/logout.jsonLogout.Loading…
-
POST
/auth/jwt/refresh.jsonRefresh access token.Loading…
Folders 5
-
DELETE
/folders/{folderId}.jsonDelete a folder.Loading…
-
GET
/folders.jsonGet multiple folders.Loading…
-
GET
/folders/{folderId}.jsonGet a folder.Loading…
-
POST
/folders.jsonCreate a folder.Loading…
-
PUT
/folders/{folderId}.jsonUpdate a folder.Loading…
Resources 5
-
DELETE
/resources/{resourceId}.jsonDelete a resource.Loading…
-
GET
/resources.jsonGet multiple resources.Loading…
-
GET
/resources/{resourceId}.jsonGet a resource.Loading…
-
POST
/resources.jsonCreate a resource.Loading…
-
PUT
/resources/{resourceId}.jsonUpdate a resource.Loading…
Action Logs 4
-
GET
/actionlog/folder/{folderId}.jsonGet the activity of a folder.Loading…
-
GET
/actionlog/logs.jsonGet the raw action log.Loading…
-
GET
/actionlog/resource/{resourceId}.jsonGet the activity of a resource.Loading…
-
GET
/actionlog/user/{userId}.jsonGet the activity of a user.Loading…
Comments 4
-
DELETE
/comments/{commentId}.jsonDelete a comment.Loading…
-
GET
/comments/resource/{resourceId}.jsonGet comments for a resource.Loading…
-
POST
/comments/resource/{resourceId}.jsonAdd a comment.Loading…
-
PUT
/comments/{commentId}.jsonUpdate a comment.Loading…
Metadata Session Key 4
-
DELETE
/metadata/session-key/{sessionKeyId}.jsonDelete a given session-key entry.Loading…
-
GET
/metadata/session-keys.jsonGet session keys.Loading…
-
POST
/metadata/session-key/{sessionKeyId}.jsonUpdate a given session-key entry.Loading…
-
POST
/metadata/session-keys.jsonAdd a session key.Loading…
Resource Types 4
-
DELETE
/resource-types/{resourceTypeId}.jsonDelete a resource type.Loading…
-
GET
/resource-types.jsonGet multiple resource types.Loading…
-
GET
/resource-types/{resourceTypeId}.jsonGet a resource type.Loading…
-
PUT
/resource-types/{resourceTypeId}.jsonUpdate resource type.Loading…
Multi Factor Authentication 3
-
GET
/mfa/verify/error.jsonInformation about MFA requirements.Loading…
-
GET
/mfa/verify/{mfaProviderName}.jsonCheck multi-factor authentication.Loading…
-
POST
/mfa/verify/{mfaProviderName}.jsonAttempt multi-factor authentication.Loading…
Offline Mode 3
-
DELETE
/offline/settings/{id}.jsonDelete the Offline mode settings.Loading…
-
GET
/offline/settings.jsonGet the Offline mode settings.Loading…
-
POST
/offline/settings.jsonSave the Offline mode settings.Loading…
Tags 3
-
GET
/tags.jsonGet personal tags and shared tags.Loading…
-
POST
/tags/{resourceOrTagId}.jsonAdd tags to a resource.Loading…
-
PUT
/tags/{resourceOrTagId}.jsonUpdate a tag.Loading…
Directory Sync 2
-
GET
/directorysync/synchronize/dry-run.jsonSimulate directory synchronization without making changes.Loading…
-
POST
/directorysync/synchronize.jsonRun the directory synchronization.Loading…
Favorites 2
-
DELETE
/favorites/{favoriteId}.jsonUnset a resource as favorite.Loading…
-
POST
/favorites/resource/{foreignId}.jsonSet a resource as favorite.Loading…
Gpg Keys 2
-
GET
/gpgkeys.jsonGet multiple GPG keys.Loading…
-
GET
/gpgkeys/{gpgkeyId}.jsonGet a GPG key.Loading…
Healthcheck 2
-
GET
/healthcheck.jsonGet healthcheck information.Loading…
-
GET
/healthcheck/status.jsonCheck if passbolt is up.Loading…
Metadata Private Keys 2
-
POST
/metadata/keys/privates.jsonCreate a metadata private key.Loading…
-
PUT
/metadata/keys/private/{metadataPrivateKeyId}.jsonUpdate a metadata private key.Loading…
Metadata Types Settings 2
-
GET
/metadata/types/settings.jsonGet metadata types settingsLoading…
-
POST
/metadata/types/settings.jsonUpgrade a resource types settingsLoading…
Avatars 1
-
GET
/avatars/view/{avatarId}/{avatarFormat}Get an avatar as an image.Loading…
Move 1
-
PUT
/move/{foreignModel}/{foreignId}.jsonMove an element.Loading…
Permissions 1
-
GET
/permissions/resource/{resourceId}.jsonGet permissions for a resource.Loading…
Roles 1
-
GET
/roles.jsonGet multiple roles.Loading…
Secrets 1
-
GET
/secrets/resource/{resourceId}.jsonView user's secret for a resource.Loading…
Settings 1
-
GET
/settings.jsonGet the server settings.Loading…
No endpoint matches. Clear the filter to see all 98.
Change log
-
- +DELETE /offline/settings/{id}.json
- +GET /offline/settings.json
- +POST /offline/settings.json
-
- +DELETE /favorites/{favoriteId}.json
- +GET /actionlog/folder/{folderId}.json
- +GET /actionlog/logs.json
- +GET /actionlog/resource/{resourceId}.json
- +GET /actionlog/user/{userId}.json
- +POST /favorites/resource/{foreignId}.json
- +POST /share/simulate/resource/{foreignId}.json
- +PUT /share/folder/{foreignId}.json
- +PUT /share/resource/{foreignId}.json
- −DELETE /favorite/{favoriteId}.json
- −POST /favorite/{foreignModel}/{foreignId}.json
- −POST /share/simulate/{foreignModel}/{foreignId}.json
- −PUT /share/{foreignModel}/{foreignId}.json