Download OpenAPI specification:Download
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.
The legacy authentication method, using the GPGAuth protocol.
Find more here.
Can be used as a session keep-alive.
curl --request GET \ --url {{API_BASE_URL}}/auth/is-authenticated.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
The user's key fingerprint and challenge data when required.
required | object | ||||||||||
|
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59"
}
}
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/login.json",
- "code": 200
}, - "body": null
}
curl --request GET \ --url {{API_BASE_URL}}/auth/logout.json
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
curl --request GET \ --url {{API_BASE_URL}}/auth/verify.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/verify.json",
- "code": 200
}, - "body": {
- "fingerprint": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59",
- "keydata": "-----BEGIN PUBLIC KEY-----"
}
}
The user's key fingerprint and an encrypted challenge token.
required | object | ||||||||||
|
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59",
- "server_verify_token": "-----BEGIN PGP MESSAGE-----"
}
}
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/verify.json",
- "code": 200
}, - "body": null
}
JWT-based authentication is the preferred way to interact with the Passbolt API. Find more here
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/jwks.json
{- "keys": [
- {
- "kty": "RSA",
- "alg": "RS256",
- "use": "sig",
- "e": "AQAB",
- "n": "sP0CpKdQJF8KgPD9GOLiCssOhi8qHXp0TyyqkWNGWcZD3JTKuuWJhNn..."
}
]
}
The user and refresh token for session identification.
user_id required | string <uuid> |
challenge required | string
|
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "challenge": "-----BEGIN PGP MESSAGE-----"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/login.json",
- "code": 200
}, - "body": {
- "challenge": "-----BEGIN PGP MESSAGE-----"
}
}
The session associated to the refresh token you want to revoke.
refresh_token | string <uuid> |
{- "refresh_token": "ad71952e-7842-599e-a19e-3a82e6974b23"
}
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
The user and refresh token for session identification.
refresh_token required | string <uuid> |
user_id required | string <uuid> |
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "refresh_token": "f8cea352-6bd3-4944-9523-20b31272bef0"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/refresh.json",
- "code": 200
}, - "body": {
- "access_token": "90c0d69c-a508-4cb6-a26c-799e52147ac0"
}
}
This is not the key to use when encrypting the JWT login challenge.
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/rsa.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/rsa.json",
- "code": 200
}, - "body": {
- "keydata": "-----BEGIN PUBLIC KEY-----"
}
}
When the avatar doesn't exist, a placeholder image is returned instead.
avatarId required | string <uuid> ID for the avatar being manipulated. |
avatarFormat required | string Enum: "medium.jpg" "small.jpg" Format for the avatar being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/avatars/view/8ef95b32-e2a3-4b58-827c-dd67e68cfb49/medium.jpg
commentId required | string <uuid> ID for the comment being manipulated. |
The comment you want to update
content required | string |
{- "content": "no comment"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The comment was successfully updated.",
- "url": "/comments/41aca4aa-430c-4b60-a1f1-c0de1b52a1ce.json",
- "code": 200
}, - "body": {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}
commentId required | string <uuid> ID for the comment being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/comments/9149d7d7-e191-41d5-a263-cfccbd775f0b.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
resourceId required | string <uuid> ID for the resource being manipulated. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
curl --request GET \ --url {{API_BASE_URL}}/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": [
- {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "children": [ ]
}
]
}
resourceId required | string <uuid> ID for the resource being manipulated. |
The comment you want to add
content required | string |
parent_id | string <uuid> |
{- "content": "no comment"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The comment was successfully added.",
- "url": "/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}
favoriteId required | string <uuid> ID for the favorite being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/favorites/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
foreignModel required | string Value: "resource" Type for the foreign model being set as favorite. |
foreignId required | string <uuid> ID for the foreign element being manipulated. |
curl --request POST \ --url {{API_BASE_URL}}/favorites/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}' --header 'Content-Type: application/json' \
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The resource was marked as favorite.",
- "url": "/favorites/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": {
- "id": "90a25878-a6c1-43c1-a983-68d27f2f0be8",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "created": "2024-08-07T13:39:29+00:00",
- "modified": "2024-08-07T13:39:29+00:00"
}
}
contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[creator.profile] | integer Enum: 1 0 Add creator and their profile to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
filter[has-id] | string <uuid> Only return elements filtered by their id. |
filter[has-parent] | string <uuid> Only return elements filtered by parent folder. |
filter[search] | string Filter using a keyword or a string. |
curl --request GET \ --url {{API_BASE_URL}}/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "162e4717-59a2-439b-86c6-fc651e989939",
- "name": "Bob",
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "folder_parent_id": null,
- "personal": true
}, - {
- "id": "9eb60ab8-afb9-4daa-bd38-35c7926da577",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "cc8140b3-6ecb-40b5-a977-a5eece53806c",
- "metadata_key_type": "shared_key",
- "created": "2021-04-30T05:56:06+00:00",
- "modified": "2021-04-30T05:56:06+00:00",
- "created_by": "f848277c-5398-58f8-a82a-72397af2d450",
- "modified_by": "f848277c-5398-58f8-a82a-72397af2d450",
- "folder_parent_id": null,
- "personal": true
}
]
}
Encrypted metadata for this item is not supported on all clients.
contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
The folder you want to create
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "e3dabc04-cfbd-45c1-9f7d-827c61603e20",
- "metadata_key_type": "shared_key"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}
folderId required | string <uuid> ID for the folder being manipulated. |
contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[creator.profile] | integer Enum: 1 0 Add creator and their profile to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
filter[has-id] | string <uuid> Only return elements filtered by their id. |
curl --request GET \ --url {{API_BASE_URL}}/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}
Encrypted metadata for this item is not supported on all clients.
The current user must have the “update” or “owner” permission on the folder.
folderId required | string <uuid> ID for the folder being manipulated. |
contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
The folder you want to update
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
{- "metadata": "----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key"
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}
folderId required | string <uuid> ID for the folder being manipulated. |
cascade | integer Enum: 1 0 Delete element and its children elements. |
curl --request DELETE \ --url {{API_BASE_URL}}/folders/b2a72cb2-508c-43ad-b96f-697f7ad21635.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
In order to encrypt information, the server and the clients needs the user's public keys. These OpenPGP endpoints let you query the saved public key data.
filter[modified-after] | string Only return elements modified after a timestamp. |
filter[is-deleted] | integer Enum: 1 0 Only return deleted elements. |
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/gpgkeys.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}
]
}
gpgkeyId required | string <uuid> ID for the GPG key being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys/ed4d9ea6-f354-4a74-ad09-4e1dd69041ec.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/gpgkeys/ed4d9ea6-f354-4a74-ad09-4e1dd69041ec.json",
- "code": 200
}, - "body": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}
}
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
contain[my_group_user] | integer Enum: 1 0 Add |
contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
contain[groups_users.user] | integer Enum: 1 0 Add group users' user data to groups in response body. |
contain[groups_users.user.profile] | integer Enum: 1 0 Add group users' user profiles to groups in response body. |
contain[groups_users.user.gpgkey] | integer Enum: 1 0 Add group users' user gpg key to groups in response body. |
filter[has-users] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by users. |
filter[has-managers] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by managers. |
curl --request GET \ --url {{API_BASE_URL}}/groups.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": [
- {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": true,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
]
}
Please note that only users with Admin role can create a group.
The group you want to create
name required | string |
required | Array of objects |
{- "name": "Groupe B",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}
]
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": false,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
]
}
}
groupId required | string <uuid> ID for the group being manipulated. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
contain[users] | integer Enum: 1 0 Add users to response body. |
contain[my_group_user] | integer Enum: 1 0 Add |
contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
contain[groups_users.user] | integer Enum: 1 0 Add group users' user data to groups in response body. |
contain[groups_users.user.profile] | integer Enum: 1 0 Add group users' user profiles to groups in response body. |
contain[groups_users.user.gpgkey] | integer Enum: 1 0 Add group users' user gpg key to groups in response body. |
curl --request GET \ --url {{API_BASE_URL}}/groups/8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": true,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}
groupId required | string <uuid> ID for the group being manipulated. |
The group you want to update
name required | string |
required | Array of objects |
Array of objects |
{- "name": "WRC",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}, - {
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "is_admin": false
}, - {
- "user_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "deleted": true
}
], - "secrets": [
- {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": false,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
]
}
}
Only a group manager or a user with administrator role can delete a group. A group cannot be deleted as long as it is the sole owner of a shared resource or folder.
groupId required | string <uuid> ID for the group being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
groupId required | string <uuid> ID for the group being manipulated. |
The group you want to update
name required | string |
required | Array of objects |
Array of objects |
{- "name": "WRC",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}, - {
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "is_admin": false
}, - {
- "user_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "deleted": true
}
], - "secrets": [
- {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups/8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc/dry-run.json",
- "code": 200
}, - "body": {
- "dry-run": {
- "SecretsNeeded": [ ],
- "Secrets": [ ]
}
}
}
groupId required | string <uuid> ID for the group being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": [ ]
}
Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/healthcheck.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/healthcheck.json",
- "code": 200
}, - "body": {
- "environment": {
- "gnupg": true,
- "info": {
- "phpVersion": "8.2.20"
}, - "phpVersion": true,
- "nextMinPhpVersion": true,
- "pcre": true,
- "mbstring": true,
- "intl": true,
- "image": true,
- "tmpWritable": true,
- "logWritable": true
}, - "configFile": {
- "app": true,
- "passbolt": false
}, - "core": {
- "cache": true,
- "debugDisabled": false,
- "salt": true,
- "fullBaseUrl": true,
- "validFullBaseUrl": true,
- "fullBaseUrlReachable": true
}, - "ssl": {
- "info": "cURL Error (60) SSL certificate problem: self-signed certificate",
- "peerValid": false,
- "hostValid": false,
- "notSelfSigned": false
}, - "smtpSettings": {
- "isEnabled": true,
- "errorMessage": false,
- "source": "env variables",
- "isInDb": false,
- "areEndpointsDisabled": false,
- "customSslOptions": true
}, - "gpg": {
- "lib": true,
- "gpgHome": true,
- "gpgHomeWritable": true,
- "gpgKeyNotDefault": true,
- "gpgKeyPublicBlock": true,
- "gpgKeyPrivateBlock": true,
- "gpgKeyPublicReadable": true,
- "gpgKeyPrivateReadable": true,
- "gpgKeyPrivateFingerprint": true,
- "gpgKeyPublic": true,
- "gpgKeyPrivate": true,
- "gpgKey": true,
- "info": {
- "gpgKeyPrivate": "/etc/passbolt/gpg/serverkey_private.asc",
- "gpgHome": "/var/lib/passbolt/.gnupg"
}, - "gpgKeyPublicFingerprint": true,
- "gpgKeyPublicInKeyring": true,
- "gpgKeyPublicEmail": true,
- "canEncrypt": true,
- "canSign": true,
- "canEncryptSign": true,
- "canDecrypt": true,
- "canDecryptVerify": true,
- "canVerify": true,
- "isPublicServerKeyGopengpgCompatible": true,
- "isPrivateServerKeyGopengpgCompatible": true
}, - "applications": {
- "configPath": "/etc/passbolt/passbolt.php",
- "info": {
- "remoteVersion": "4.9.1",
- "currentVersion": "4.9.0"
}, - "latestVersion": false,
- "sslForce": false,
- "sslFullBaseUrl": true,
- "seleniumDisabled": true,
- "robotsIndexDisabled": true,
- "registrationClosed": {
- "isSelfRegistrationPluginEnabled": true,
- "selfRegistrationProvider": null,
- "isRegistrationPublicRemovedFromPassbolt": true
}, - "hostAvailabilityCheckEnabled": false,
- "jsProd": true,
- "emailNotificationEnabled": false,
- "schema": true
}, - "database": {
- "supportedBackend": true,
- "connect": true,
- "info": {
- "tablesCount": 31
}, - "tablesCount": true,
- "defaultContent": true
}
}
}
curl --request GET \ --url {{API_BASE_URL}}/healthcheck/status.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "OK",
- "url": "/healthcheck/status.json",
- "code": 200
}, - "body": "OK"
}
filter[deleted] | integer Enum: 1 0 Filter for deleted elements. |
filter[expired] | integer Enum: 1 0 Filter for expired elements. |
contain[metadata_private_keys] | integer Enum: 1 0 Add metadata private keys in response. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1739979997,
- "action": "e38db0b5-838d-5f43-8609-92a25843e9d3",
- "message": "OK",
- "url": "/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1",
- "code": 200
}, - "body": [
- {
- "id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "expired": null,
- "deleted": null,
- "metadata_private_keys": [
- {
- "metadata_key_id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f"
}
]
}
]
}
The metadata key you want to create
armored_key required | string |
fingerprint required | string |
required | Array of objects |
{- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "metadata_private_keys": [
- {
- "user_id": null,
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1739979997,
- "action": "e38db0b5-838d-5f43-8609-92a25843e9d3",
- "message": "OK",
- "url": "/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1",
- "code": 200
}, - "body": [
- {
- "id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "expired": null,
- "deleted": null,
- "metadata_private_keys": [
- {
- "metadata_key_id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f"
}
]
}
]
}
metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
The metadata key you want to update
fingerprint required | string |
armored_key required | string |
expired required | string <date-time> |
{- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "expired": "2025-02-25T09:00:00+00:00"
}
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/keys/6c598bc2-8354-4d47-8844-37bae9fed02f.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
curl --request GET \ --url {{API_BASE_URL}}/metadata/keys/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "1911b18b-cf68-48cf-b69f-ec9dba39aff4",
- "status": "success",
- "servertime": 1740413047,
- "action": "b20e3cc2-e4ea-5b42-804b-7edc9878ef3d",
- "message": "The operation was successful.",
- "url": "/metadata/keys/settings.json",
- "code": 200
}, - "body": {
- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
}
The metadata key settings you want to update
allow_usage_of_personal_keys required | boolean |
zero_knowledge_key_share required | boolean |
Array of objects |
{- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
{- "header": {
- "id": "1911b18b-cf68-48cf-b69f-ec9dba39aff4",
- "status": "success",
- "servertime": 1740413047,
- "action": "b20e3cc2-e4ea-5b42-804b-7edc9878ef3d",
- "message": "The operation was successful.",
- "url": "/metadata/keys/settings.json",
- "code": 200
}, - "body": {
- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
}
Can also be used for sharing a missing private key for one or more users.
The metadata private keys that you want to create.
data required | string |
user_id required | string <uuid> |
metadata_key_id required | string <uuid> |
[- {
- "metadata_key_id": "d00efe12-0892-4111-b08a-fb42d9e0a5de",
- "user_id": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "metadata_key_id": "7d316bc3-0cca-4b5d-9d77-3eb9c408f9df",
- "user_id": "4448fee0-2eef-4d47-b221-2101317f60d1",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": { }
}
metadataPrivateKeyId required | string <uuid> ID for the metadata private key manipulated. |
The metadata private keys that you want to update.
data required | string |
{- "data": "-----BEGIN PGP MESSAGE-----"
}
{- "user_id": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created_by": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "modified_by": "4448fee0-2eef-4d47-b221-2101317f60d1"
}
Retrieve information about the resource types settings selected by the administrators
Get information from the resource types settings, as selected by the administrators.
curl --request GET \ --url {{API_BASE_URL}}/metadata/types/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "0b2c4b00-561b-4d37-a27d-7499dc659b5f",
- "status": "success",
- "servertime": 1740387841,
- "action": "11ffb449-cd7d-5dc0-8dae-501ef3c9e8a7",
- "message": "The operation was successful.",
- "url": "/metadata/types/settings.json",
- "code": 200
}, - "body": {
- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}
}
Administrators can define which resource type is the default
The metadata types settings you want to update
default_resource_types required | string Enum: "v4" "v5" |
default_folder_type required | string Enum: "v4" "v5" |
default_tag_type required | string Enum: "v4" "v5" |
default_comment_type required | string Enum: "v4" "v5" |
allow_creation_of_v5_resources required | boolean |
allow_creation_of_v5_folders required | boolean |
allow_creation_of_v5_tags required | boolean |
allow_creation_of_v5_comments required | boolean |
allow_creation_of_v4_resources required | boolean |
allow_creation_of_v4_folders required | boolean |
allow_creation_of_v4_tags required | boolean |
allow_creation_of_v4_comments required | boolean |
allow_v5_v4_downgrade required | boolean |
allow_v4_v5_upgrade required | boolean |
{- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}
{- "header": {
- "id": "0b2c4b00-561b-4d37-a27d-7499dc659b5f",
- "status": "success",
- "servertime": 1740387841,
- "action": "11ffb449-cd7d-5dc0-8dae-501ef3c9e8a7",
- "message": "The operation was successful.",
- "url": "/metadata/types/settings.json",
- "code": 200
}, - "body": {
- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}
}
See the folders that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/{{MODEL}}.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}
Rotate the metadata of a given set of folders
The object you want to rotate the metadata key
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
modified required | string <date-time> |
modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/{{MODEL}}.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}
See the resources that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/resources.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}
Rotate the metadata of a given set of resources
The object you want to rotate the metadata key
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
modified required | string <date-time> |
modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/resources.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}
This endpoint is available since version 5.1.
See the tags that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/tags.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key"
}
]
}
This endpoint is available since version 5.1.
Rotate the metadata key of a given set of tags.
The tags you want to rotate the metadata key
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/tags.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key"
}
]
}
Get a list of available encrypted session keys in cache for the given user.
curl --request GET \ --url {{API_BASE_URL}}/metadata/session-keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys.json",
- "code": 200
}, - "body": [
- {
- "id": "922216c5-fa6c-4487-9e4c-b2a9215f7f17",
- "user_id": "bf5dc039-314d-4ac1-938f-c1ad8331e28a",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2025-01-18T15:52:17+00:00",
- "modified": "2025-02-18T15:52:17+00:00"
}
]
}
The metadata session key you want to add
data required | string |
{- "data": "-----BEGIN PGP MESSAGE-----"
}
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c36e894d-ed63-5434-aa70-4b777f9fdf32",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys.json",
- "code": 200
}, - "body": {
- "id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "user_id": "bf5dc039-314d-4ac1-938f-c1ad8331e28a",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2025-03-05T14:22:33+00:00",
- "modified": "2025-03-05T14:22:33+00:00"
}
}
sessionKeyId required | string <uuid> ID for the session key being manipulated |
The metadata session key you want to update
data required | string |
modified required | string <date-time> |
{- "data": "----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00"
}
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys/16c1344a-33ae-4c49-90a0-130a9c82a091",
- "code": 200
}, - "body": {
- "data": "----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00"
}
}
sessionKeyId required | string <uuid> ID for the session key being manipulated |
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/session-keys/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
Encrypted metadata for this item is not supported on all clients.
Retrieves a list of folders that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
filter[is-shared] | boolean Only return shared items. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "personal": true,
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "name": "folder v4 format",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T14:36:51+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null
}
]
}
Encrypted metadata for this item is not supported on all clients.
Upgrade folders that are eligible for an upgrade to v5 format.
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
The folders you want to upgrade the metadata for to v5 format
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
modified required | string <date-time> |
modified_by required | string <uuid> |
[- {
- "id": "0e840721-58ea-4649-b603-2d9cf4f2213c",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "personal": true,
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "name": "folder v4 format",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T14:36:51+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null
}
]
}
Retrieves a list of resources that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
filter[is-shared] | boolean Only return shared items. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "name": "password v4 format",
- "username": "anakin",
- "description": null,
- "deleted": false,
- "expired": null,
- "created": "2025-02-19T10:34:07+00:00",
- "modified": "2025-02-19T10:34:07+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51"
}
]
}
Upgrade resources that are eligible for an upgrade to v5 format.
filter[is-shared] | boolean Only return shared items. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
The resources you want to upgrade the metadata for to v5 format
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
modified required | string <date-time> |
modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "name": "password v4 format",
- "username": "anakin",
- "description": null,
- "deleted": false,
- "expired": null,
- "created": "2025-02-19T10:34:07+00:00",
- "modified": "2025-02-19T10:34:07+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51"
}
]
}
This endpoint is available since version 5.1.
Encrypted metadata for this item is not supported on all clients.
Retrieves a list of tags that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
filter[is-shared] | boolean Only return shared items. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662b",
- "user_id": null,
- "slug": "important tag in v4 format",
- "is_shared": true
}
]
}
This endpoint is available since version 5.1.
Encrypted metadata for this item is not supported on all clients.
Upgrade tags that are eligible for an upgrade to v5 format.
filter[is-shared] | boolean Only return shared items. |
The tags you want to upgrade the metadata for to v5 format
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
id required | string <uuid> |
is_shared required | boolean |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662b",
- "user_id": null,
- "slug": "important tag in v4 format",
- "is_shared": true
}
]
}
foreignModel required | string Enum: "resource" "folder" Type for the foreign model being moved. |
foreignId required | string <uuid> ID for the foreign element being manipulated. |
The target parent folder ID
folder_parent_id required | string <uuid> |
{- "folder_parent_id": "a55d29ee-6781-49d6-b11e-36589d258be8"
}
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
Check if MFA validation is needed. 400
means that this kind of MFA is not required.
mfaProviderName | string Enum: "totp" "yubikey" Name for the MFA provider. |
curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/totp.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
mfaProviderName | string Enum: "totp" "yubikey" Name for the MFA provider. |
The code for the MFA attempt.
totp required | string One-time code for TOTP-based MFA. |
remember | integer Enum: 0 1 |
{- "totp": "635742"
}
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/error.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "error",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "<ERROR MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 400
}, - "body": ""
}
resourceId required | string <uuid> ID for the resource being manipulated. |
contain[group] | integer Enum: 1 0 Add group to response body. |
contain[user] | integer Enum: 1 0 Add user to response body. |
contain[user.profile] | integer Enum: 1 0 Add user profile to user data in response body. |
curl --request GET \ --url {{API_BASE_URL}}/permissions/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/permissions/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": [
- {
- "id": "c4cc131e-b204-41e3-8e17-0f62be7d1d80",
- "aco": "Resource",
- "aco_foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "aro": "User",
- "aro_foreign_key": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "type": 15,
- "created": "2024-07-30T08:48:28+00:00",
- "modified": "2024-07-30T08:48:28+00:00"
}, - {
- "id": "4d664f1b-905e-4de4-ad2a-a7dce650565c",
- "aco": "Resource",
- "aco_foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "aro": "User",
- "aro_foreign_key": "c48863da-32d3-48cd-9d47-de2891386423",
- "type": 1,
- "created": "2024-08-08T15:38:26+00:00",
- "modified": "2024-08-08T15:38:26+00:00"
}
]
}
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[favorite] | integer Enum: 1 0 Add favorite to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[secret] | integer Enum: 1 0 Add secrets to response body. |
contain[resource-type] | integer Enum: 1 0 Add resource type to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
filter[is-favorite] | boolean Only return favorite elements. |
filter[is-shared-with-group] | string <uuid> Only return elements shared with group. |
filter[is-owned-by-me] | boolean Only return elements owned by yourself. |
filter[is-shared-with-me] | boolean Only return elements shared to yourself and you are not owner. |
filter[has-id] | string <uuid> Only return elements filtered by their id. |
filter[has-parent] | string <uuid> Only return elements filtered by parent folder. |
filter[metadata_key_type] | string <uuid> Only return elements that match the metadata key type |
curl --request GET \ --url {{API_BASE_URL}}/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}, - {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac89",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "created": "2024-08-08T08:06:25+00:00",
- "modified": "2024-08-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}
The resource you want to create or update
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
expired required | string or null <date-time> |
folder_parent_id required | string or null <uuid> |
resource_type_id required | string <uuid> |
secrets required | Array of strings |
{- "folder_parent_id": null,
- "personal": true,
- "expired": null,
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "resource_type_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "secrets": [
- "-----BEGIN PGP MESSAGE-----"
]
}
{- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
resourceId required | string <uuid> ID for the resource being manipulated. |
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[favorite] | integer Enum: 1 0 Add favorite to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
contain[secret] | integer Enum: 1 0 Add secrets to response body. |
contain[resource-type] | integer Enum: 1 0 Add resource type to response body. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
curl --request GET \ --url {{API_BASE_URL}}/resources/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resources/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json",
- "code": 200
}, - "body": {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
}
If the password you are updating has been shared with 7 users, the secrets
key will need to be an array of 7 objects.
You must encrypt and sign the new plaintext passwords using the recipient public key and the current user secret key. You can then create a list which include one object per user: the data
key holds the encrypted plaintext password and user_id
holds the user UUID.
resourceId required | string <uuid> ID for the resource being manipulated. |
The resource you want to create or update
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
expired required | string or null <date-time> |
folder_parent_id required | string or null <uuid> |
resource_type_id required | string <uuid> |
secrets required | Array of strings |
{- "folder_parent_id": null,
- "personal": true,
- "expired": null,
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "resource_type_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "secrets": [
- "-----BEGIN PGP MESSAGE-----"
]
}
{- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
resourceId required | string <uuid> ID for the resource being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/resources/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
Resource-types are used for describing how and what data is stored for a resource and its associated secrets.
contain[resources_count] | integer Enum: 1 0 Get the number of count of resources associated to this type of resource. |
filter[is-deleted] | integer Enum: 1 0 Only return deleted elements. |
curl --request GET \ --url {{API_BASE_URL}}/resource-types.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resource-types.json",
- "code": 200
}, - "body": [
- {
- "id": "669f8c64-242a-59fb-92fc-81f660975fd3",
- "slug": "password-and-description",
- "name": "Password with description",
- "description": "A resource with the password and the description encrypted.",
- "definition": {
- "resource": {
- "type": "object",
- "required": [
- "name"
], - "properties": {
- "name": {
- "type": "string",
- "maxLength": 255
}, - "username": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 255
}, - {
- "type": "null"
}
]
}, - "uri": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 1024
}, - {
- "type": "null"
}
]
}
}
}, - "secret": {
- "type": "object",
- "required": [
- "password"
], - "properties": {
- "password": {
- "type": "string",
- "maxLength": 4096
}, - "description": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 10000
}, - {
- "type": null
}
]
}
}
}
}, - "deleted": null,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
]
}
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resource-types/669f8c64-242a-59fb-92fc-81f660975fd3.json",
- "code": 200
}, - "body": {
- "id": "669f8c64-242a-59fb-92fc-81f660975fd3",
- "slug": "password-and-description",
- "name": "Password with description",
- "description": "A resource with the password and the description encrypted.",
- "definition": {
- "resource": {
- "type": "object",
- "required": [
- "name"
], - "properties": {
- "name": {
- "type": "string",
- "maxLength": 255
}, - "username": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 255
}, - {
- "type": "null"
}
]
}, - "uri": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 1024
}, - {
- "type": "null"
}
]
}
}
}, - "secret": {
- "type": "object",
- "required": [
- "password"
], - "properties": {
- "password": {
- "type": "string",
- "maxLength": 4096
}, - "description": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 10000
}, - {
- "type": null
}
]
}
}
}
}, - "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
}
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
The resource types you want to update
deleted | boolean or null |
{- "deleted": null
}
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": ""
}
curl --request GET \ --url {{API_BASE_URL}}/roles.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/roles.json",
- "code": 200
}, - "body": [
- {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - {
- "id": "50307b17-a097-483b-b388-4bf262348180",
- "name": "guest",
- "description": "Non logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - {
- "id": "c2f96fb1-611d-466d-80fb-e82beba5ed87",
- "name": "user",
- "description": "Logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}
]
}
resourceId required | string <uuid> ID for the resource being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/secrets/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/secrets/resource/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": {
- "id": "c9e3b8e0-5ea9-4f40-a5e9-e3e4d2002be2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
}
curl --request GET \ --url {{API_BASE_URL}}/settings.json
{- "header": {
- "id": "2103c923-6b0c-42f9-b23f-0cceda9a2963",
- "status": "success",
- "servertime": 1740993528,
- "action": "bef9f3ca-86ef-5c6a-9b38-320e03ceb5df",
- "message": "The operation was successful.",
- "url": "/settings.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": {
- "passbolt": {
- "edition": "pro",
- "plugins": {
- "jwtAuthentication": {
- "enabled": true
}, - "accountRecoveryRequestHelp": {
- "enabled": true
}, - "accountRecovery": {
- "enabled": true
}, - "selfRegistration": {
- "enabled": true
}, - "sso": {
- "enabled": true
}, - "mfaPolicies": {
- "enabled": true
}, - "ssoRecover": {
- "enabled": true
}, - "userPassPhrasePolicies": {
- "enabled": true
}, - "inFormIntegration": {
- "enabled": true
}, - "metadata": {
- "version": "1.0.0",
- "enabled": true
}, - "locale": {
- "options": [
- {
- "locale": "de-DE",
- "label": "Deutsch"
}, - {
- "locale": "en-UK",
- "label": "English"
}, - {
- "locale": "en-ES",
- "label": "Español"
}, - {
- "locale": "fr-FR",
- "label": "Français"
}, - {
- "locale": "it-IT",
- "label": "Italiano (beta)"
}, - {
- "locale": "ja-JP",
- "label": "日本語"
}, - {
- "locale": "ko-KR",
- "label": "한국어 (beta)"
}, - {
- "locale": "lt-LT",
- "label": "Lietuvių"
}, - {
- "locale": "nl-NL",
- "label": "Nederlands"
}, - {
- "locale": "pl-PL",
- "label": "Polski"
}, - {
- "locale": "pt-PR",
- "label": "Português Brasil (beta)"
}, - {
- "locale": "ro-RO",
- "label": "Română (beta)"
}, - {
- "locale": "ru-RU",
- "label": "Pусский (beta)"
}, - {
- "locale": "sv-SE",
- "label": "Svenska"
}
]
}, - "rememberMe": {
- "options": {
- "300": "5 minutes",
- "900": "15 minutes",
- "1800": "30 minutes",
- "3600": "1 hour",
- "-1": "Until I log out"
}
}
}
}
}
}
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
curl --request GET \ --url {{API_BASE_URL}}/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "15a7d119-07c7-4fcb-8afc-ee8eba41fdc0",
- "status": "success",
- "servertime": 1721207029,
- "action": "43efcc1ec-5cc1-5d2a-a16e-234f23b70719",
- "message": "The operation was successful.",
- "url": "/tags.json"
}, - "body": [
- {
- "id": "c9e3b8e0-5ea9-4f40-a5e9-e3e4d2002be2",
- "slug": "#sharedTag",
- "is_shared": true
}, - {
- "id": "9b3ffebf-f3a2-40dc-9e73-2c9b3a927932",
- "slug": "v4 format tag",
- "is_shared": false
}, - {
- "id": "04b87425-160e-4e31-b42f-89c455650331",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
]
}
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
resourceOrTagId required | string <uuid> The tag (for |
The tag to update.
metadata required | string |
metadata_key_id required | string <uuid> |
metadata_key_type required | string Enum: "user_key" "shared_key" |
is_shared required | boolean |
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
{- "header": {
- "id": "15a7d119-07c7-4fcb-8afc-ee8eba41fdc0",
- "status": "success",
- "servertime": 1721207029,
- "action": "43efcc1ec-5cc1-5d2a-a16e-234f23b70719",
- "message": "The operation was successful.",
- "url": "/tags/04b87425-160e-4e31-b42f-89c455650331.json"
}, - "body": {
- "id": "04b87425-160e-4e31-b42f-89c455650331",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
}
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
resourceOrTagId required | string <uuid> The tag (for |
The tags to set for the resource.
id required | string <uuid> |
{- "tags": [
- {
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": null,
- "metadata_key_type": "shared_key",
- "is_shared": true
}, - {
- "id": "4879d401-c242-458d-91a0-dba864c36535"
}
]
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1740497420,
- "action": "acef8942-0c23-5de8-92e8-76ed8c5664f2",
- "message": "The operation was successful.",
- "url": "/tags/b4651f60-392d-4af7-b204-0f8d26798b9b.json",
- "code": 200
}, - "body": [
- {
- "id": "52ca9f92-4115-4759-a965-89e6b41b36fd",
- "slug": "important",
- "is_shared": false
}, - {
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": null,
- "metadata_key_type": "user_key",
- "is_shared": false
}
]
}
contain[last_logged_in] | integer Enum: 1 0 Add last logged in to response body. |
contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
contain[gpgkey] | integer Enum: 1 0 Add GPG key data to response body. |
contain[profile] | integer Enum: 1 0 Add profile to response body. |
contain[role] | integer Enum: 1 0 Add role to response body. |
contain[missing_metadata_key_ids] | integer Enum: 1 0 Add missing metadata key IDs to response body. |
filter[search] | string Filter using a keyword or a string. |
filter[has-groups] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by groups. |
filter[has-access] | Array of strings <uuid> [ items <uuid > ] Only return elements where specified users have access. |
filter[is-admin] | boolean Only return admin users. |
filter[is-active] | boolean Only return active elements. |
curl --request GET \ --url {{API_BASE_URL}}/users.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/users.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null,
- "missing_metadata_key_ids": [ ]
}
]
}
Only users with admin
role can create other users.
The user you want to create
username required | string <email> |
role_id | string <uuid> |
required | object |
{- "profile": {
- "first_name": "Ada",
- "last_name": "Lovelace"
}
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The user was successfully added. This user now need to complete the setup.",
- "url": "/users.json",
- "code": 200
}, - "body": {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": false,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [ ],
- "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": null,
- "role": {
- "id": "c2f96fb1-611d-466d-80fb-e82beba5ed87",
- "name": "user",
- "description": "Logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null
}
}
userId required | string <uuid> ID for the user being manipulated. Can be set to |
contain[missing_metadata_key_ids] | integer Enum: 1 0 Add missing metadata key IDs to response body. |
curl --request GET \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/users/8bb80df5-700c-48ce-b568-85a60fc3c8f2.json",
- "code": 200
}, - "body": {
- "is_mfa_enabled": false,
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null,
- "missing_metadata_key_ids": [ ]
}
}
Neither the email or the username field which can be updated, and only administrators can update a user's role.
userId required | string <uuid> ID for the user being manipulated. Can be set to |
The user you want to update
role_id | string <uuid> |
disabled | boolean |
object |
{- "profile": {
- "first_name": "Freddie",
- "last_name": "Mercury"
}
}
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The user has been updated successfully.",
- "url": "/users/8bb80df5-700c-48ce-b568-85a60fc3c8f2.json",
- "code": 200
}, - "body": {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Freddy",
- "last_name": "Mercury",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null
}
}
Only a user with an administrator role can delete users. A user
can not be deleted as long as:
In this case you will need to transfer the ownership of the shared resources and appoint a new manager to the group in order to proceed.
userId required | string <uuid> ID for the user being manipulated. Can be set to |
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}
userId required | string <uuid> ID for the user being manipulated. Can be set to |
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}