Passbolt API (5.0.0)
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.
Check authentication status.
Can be used as a session keep-alive.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/auth/is-authenticated.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 401
{- "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
}
Log in.
Request Body schema: application/jsonrequired
The user's key fingerprint and challenge data when required.
required | object | ||||||||||
|
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59"
}
}
}
Response samples
- 200
- 400
{- "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
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/auth/logout.json
Response samples
- 200
- 401
- 403
{- "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
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/auth/verify.json
Response samples
- 200
{- "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-----"
}
}
Verify the server's identity.
Request Body schema: application/jsonrequired
The user's key fingerprint and an encrypted challenge token.
required | object | ||||||||||
|
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59",
- "server_verify_token": "-----BEGIN PGP MESSAGE-----"
}
}
}
Response samples
- 200
- 400
{- "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
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/jwks.json
Response samples
- 200
- 404
{- "keys": [
- {
- "kty": "RSA",
- "alg": "RS256",
- "use": "sig",
- "e": "AQAB",
- "n": "sP0CpKdQJF8KgPD9GOLiCssOhi8qHXp0TyyqkWNGWcZD3JTKuuWJhNn..."
}
]
}
Login.
Request Body schema: application/jsonrequired
The user and refresh token for session identification.
user_id required | string <uuid> |
challenge required | string
|
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "challenge": "-----BEGIN PGP MESSAGE-----"
}
Response samples
- 200
- 400
{- "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-----"
}
}
Logout.
Authorizations:
Request Body schema: application/jsonrequired
The session associated to the refresh token you want to revoke.
refresh_token | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "refresh_token": "ad71952e-7842-599e-a19e-3a82e6974b23"
}
Response samples
- 200
- 400
- 401
{- "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
}
Refresh access token.
Authorizations:
Request Body schema: application/jsonrequired
The user and refresh token for session identification.
refresh_token required | string <uuid> |
user_id required | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "refresh_token": "f8cea352-6bd3-4944-9523-20b31272bef0"
}
Response samples
- 200
- 400
{- "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"
}
}
Get the JWT RSA server information.
This is not the key to use when encrypting the JWT login challenge.
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/rsa.json
Response samples
- 200
- 404
{- "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-----"
}
}
Get an avatar as an image.
When the avatar doesn't exist, a placeholder image is returned instead.
path Parameters
avatarId required | string <uuid> ID for the avatar being manipulated. |
avatarFormat required | string Enum: "medium.jpg" "small.jpg" Format for the avatar being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/avatars/view/8ef95b32-e2a3-4b58-827c-dd67e68cfb49/medium.jpg
Update a comment.
Authorizations:
path Parameters
commentId required | string <uuid> ID for the comment being manipulated. |
Request Body schema: application/jsonrequired
The comment you want to update
content required | string |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "content": "no comment"
}
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Delete a comment.
Authorizations:
path Parameters
commentId required | string <uuid> ID for the comment being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/comments/9149d7d7-e191-41d5-a263-cfccbd775f0b.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
Get comments for a resource.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
query Parameters
contain[creator] | integer Enum: 1 0 Add creator to response body. |
contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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": [ ]
}
]
}
Add a comment.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
Request Body schema: application/jsonrequired
The comment you want to add
content required | string |
parent_id | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "content": "no comment"
}
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Unset a resource as favorite.
Authorizations:
path Parameters
favoriteId required | string <uuid> ID for the favorite being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/favorites/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
Set a resource as favorite.
Authorizations:
path Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
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' \
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Get multiple folders.
Authorizations:
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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
}
]
}
Create a folder.
Encrypted metadata for this item is not supported on all clients.
Authorizations:
query Parameters
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. |
Request Body schema: application/jsonrequired
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" |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "e3dabc04-cfbd-45c1-9f7d-827c61603e20",
- "metadata_key_type": "shared_key"
}
Response samples
- 200
- 400
- 401
{- "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
}
}
Get a folder.
Authorizations:
path Parameters
folderId required | string <uuid> ID for the folder being manipulated. |
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
}
Update a folder.
Encrypted metadata for this item is not supported on all clients.
The current user must have the “update” or “owner” permission on the folder.
Authorizations:
path Parameters
folderId required | string <uuid> ID for the folder being manipulated. |
query Parameters
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. |
Request Body schema: application/jsonrequired
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" |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "metadata": "----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key"
}
Response samples
- 200
- 400
- 401
- 404
{- "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
}
}
Delete a folder.
Authorizations:
path Parameters
folderId required | string <uuid> ID for the folder being manipulated. |
query Parameters
cascade | integer Enum: 1 0 Delete element and its children elements. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/folders/b2a72cb2-508c-43ad-b96f-697f7ad21635.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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.
Get multiple GPG keys.
Authorizations:
query Parameters
filter[modified-after] | string Only return elements modified after a timestamp. |
filter[is-deleted] | integer Enum: 1 0 Only return deleted elements. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
Get a GPG key.
Authorizations:
path Parameters
gpgkeyId required | string <uuid> ID for the GPG key being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys/ed4d9ea6-f354-4a74-ad09-4e1dd69041ec.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Get multiple groups.
Authorizations:
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/groups.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
Create a group.
Please note that only users with Admin role can create a group.
Authorizations:
Request Body schema: application/jsonrequired
The group you want to create
name required | string |
required | Array of objects |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "name": "Groupe B",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}
]
}
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
}
Get a group.
Authorizations:
path Parameters
groupId required | string <uuid> ID for the group being manipulated. |
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/groups/8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Update a group.
Authorizations:
path Parameters
groupId required | string <uuid> ID for the group being manipulated. |
Request Body schema: application/jsonrequired
The group you want to update
name required | string |
required | Array of objects |
Array of objects |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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-----"
}
]
}
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
]
}
}
Delete a group.
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.
Authorizations:
path Parameters
groupId required | string <uuid> ID for the group being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
Dry run a group update.
Authorizations:
path Parameters
groupId required | string <uuid> ID for the group being manipulated. |
Request Body schema: application/jsonrequired
The group you want to update
name required | string |
required | Array of objects |
Array of objects |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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-----"
}
]
}
Response samples
- 200
- 400
- 401
- 404
{- "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": [ ]
}
}
}
Dry run a group deletion.
Authorizations:
path Parameters
groupId required | string <uuid> ID for the group being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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": [ ]
}
Get healthcheck information.
Only administrators can query this endpoint.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/healthcheck.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 403
{- "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
}
}
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/healthcheck/status.json
Response samples
- 200
{- "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"
}
Get metadata keys.
Authorizations:
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
]
}
Create a metadata key.
Authorizations:
Request Body schema: application/jsonrequired
The metadata key you want to create
armored_key required | string |
fingerprint required | string |
required | Array of objects |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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-----"
}
]
}
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
]
}
Mark a metadata key as expired.
Authorizations:
path Parameters
metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
Request Body schema: application/jsonrequired
The metadata key you want to update
fingerprint required | string |
armored_key required | string |
expired required | string <date-time> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "expired": "2025-02-25T09:00:00+00:00"
}
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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
}
Delete a metadata key.
Authorizations:
path Parameters
metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/keys/6c598bc2-8354-4d47-8844-37bae9fed02f.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/keys/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 401
- 404
{- "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
}
}
Update metadata keys settings.
Authorizations:
Request Body schema: application/jsonrequired
The metadata key settings you want to update
allow_usage_of_personal_keys required | boolean |
zero_knowledge_key_share required | boolean |
Array of objects |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
Response samples
- 200
- 400
- 401
- 404
{- "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
}
}
Create a metadata private key.
Can also be used for sharing a missing private key for one or more users.
Authorizations:
Request Body schema: application/jsonrequired
The metadata private keys that you want to create.
data required | string |
user_id required | string <uuid> |
metadata_key_id required | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "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-----"
}
]
Response samples
- 200
- 400
- 401
- 403
{- "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": { }
}
Update a metadata private key.
Authorizations:
path Parameters
metadataPrivateKeyId required | string <uuid> ID for the metadata private key manipulated. |
Request Body schema: application/jsonrequired
The metadata private keys that you want to update.
data required | string |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "data": "-----BEGIN PGP MESSAGE-----"
}
Response samples
- 200
- 400
- 401
- 404
{- "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 metadata types settings
Get information from the resource types settings, as selected by the administrators.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/types/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 401
- 404
{- "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
}
}
Upgrade a resource types settings
Administrators can define which resource type is the default
Authorizations:
Request Body schema: application/jsonrequired
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 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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
}
Response samples
- 200
- 400
- 401
- 403
{- "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
}
}
Get folders with expired keys
See the folders that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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 expired metadata keys for folders
Rotate the metadata of a given set of folders
Authorizations:
Request Body schema: application/jsonrequired
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> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "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"
}
]
Response samples
- 200
- 400
- 401
- 404
- 409
{- "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
}
]
}
Get resources with expired keys
See the resources that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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 expired metadata keys for resources
Rotate the metadata of a given set of resources
Authorizations:
Request Body schema: application/jsonrequired
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> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "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"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
{- "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
}
]
}
Get tags with expired keys
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.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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"
}
]
}
Rotate expired metadata keys for tags
This endpoint is available since version 5.1.
Rotate the metadata key of a given set of tags.
Authorizations:
Request Body schema: application/jsonrequired
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> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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 session keys.
Get a list of available encrypted session keys in cache for the given user.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/session-keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 401
{- "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"
}
]
}
Add a session key.
Authorizations:
Request Body schema: application/jsonrequired
The metadata session key you want to add
data required | string |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "data": "-----BEGIN PGP MESSAGE-----"
}
Response samples
- 200
- 400
- 401
{- "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"
}
}
Update a given session-key entry.
Authorizations:
path Parameters
sessionKeyId required | string <uuid> ID for the session key being manipulated |
Request Body schema: application/jsonrequired
The metadata session key you want to update
data required | string |
modified required | string <date-time> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "data": "----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00"
}
Response samples
- 200
- 400
- 401
- 404
- 409
{- "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"
}
}
Delete a given session-key entry.
Authorizations:
path Parameters
sessionKeyId required | string <uuid> ID for the session key being manipulated |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/session-keys/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 401
- 404
{- "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
}
Get Upgradable Folders
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.
Authorizations:
query Parameters
filter[is-shared] | boolean Only return shared items. |
contain[permission] | integer Enum: 1 0 Add permission to response body. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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
}
]
}
Upgrade a folder
Encrypted metadata for this item is not supported on all clients.
Upgrade folders that are eligible for an upgrade to v5 format.
Authorizations:
query Parameters
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
Request Body schema: application/jsonrequired
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> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "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"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
{- "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
}
]
}
Get Upgradable Resources
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.
Authorizations:
query Parameters
filter[is-shared] | boolean Only return shared items. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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 a Resource
Upgrade resources that are eligible for an upgrade to v5 format.
Authorizations:
query Parameters
filter[is-shared] | boolean Only return shared items. |
contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
Request Body schema: application/jsonrequired
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> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "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"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
- 409
{- "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"
}
]
}
Get Upgradable Tags
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.
Authorizations:
query Parameters
filter[is-shared] | boolean Only return shared items. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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
}
]
}
Upgrade a tag
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.
Authorizations:
query Parameters
filter[is-shared] | boolean Only return shared items. |
Request Body schema: application/jsonrequired
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 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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
}
]
}
Move an element.
Authorizations:
path Parameters
foreignModel required | string Enum: "resource" "folder" Type for the foreign model being moved. |
foreignId required | string <uuid> ID for the foreign element being manipulated. |
Request Body schema: application/jsonrequired
The target parent folder ID
folder_parent_id required | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "folder_parent_id": "a55d29ee-6781-49d6-b11e-36589d258be8"
}
Response samples
- 200
- 400
- 401
- 404
{- "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 multi-factor authentication.
Check if MFA validation is needed. 400
means that this kind of MFA is not required.
Authorizations:
path Parameters
mfaProviderName | string Enum: "totp" "yubikey" Name for the MFA provider. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/totp.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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
}
Attempt multi-factor authentication.
Authorizations:
path Parameters
mfaProviderName | string Enum: "totp" "yubikey" Name for the MFA provider. |
Request Body schema: application/jsonrequired
The code for the MFA attempt.
totp required | string One-time code for TOTP-based MFA. |
remember | integer Enum: 0 1 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "totp": "635742"
}
Response samples
- 200
- 400
- 401
{- "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
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/error.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 400
- 401
- 403
{- "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": ""
}
Get permissions for a resource.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/permissions/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
]
}
Get multiple resources.
Authorizations:
query Parameters
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 |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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
}
]
}
Create a resource.
Authorizations:
Request Body schema: application/jsonrequired
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 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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-----"
]
}
Response samples
- 200
- 400
- 401
{- "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
}
Get a resource.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/resources/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
}
Update a resource.
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.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
Request Body schema: application/jsonrequired
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 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "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-----"
]
}
Response samples
- 200
- 400
- 401
- 404
{- "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
}
Delete a resource.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/resources/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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.
Get multiple resource types.
Authorizations:
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/resource-types.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
Get a resource type.
Authorizations:
path Parameters
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Delete a resource type.
Authorizations:
path Parameters
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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
}
Update resource type.
Authorizations:
path Parameters
resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
Request Body schema: application/jsonrequired
The resource types you want to update
deleted | boolean or null |
Responses
Request samples
- Payload
- cURL
- PHP
- JavaScript
{- "deleted": null
}
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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": ""
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/roles.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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"
}
]
}
View user's secret for a resource.
Authorizations:
path Parameters
resourceId required | string <uuid> ID for the resource being manipulated. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/secrets/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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"
}
}
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/settings.json
Response samples
- 200
- 400
- 401
{- "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"
}
}
}
}
}
}
Get personal tags and shared tags.
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
Authorizations:
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
{- "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
}
]
}
Update a tag.
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
Authorizations:
path Parameters
resourceOrTagId required | string <uuid> The tag (for |
Request Body schema: application/jsonrequired
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 |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
Response samples
- 200
- 400
- 401
{- "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
}
}
Add tags to a resource.
Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
Authorizations:
path Parameters
resourceOrTagId required | string <uuid> The tag (for |
Request Body schema: application/jsonrequired
The tags to set for the resource.
id required | string <uuid> |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "tags": [
- {
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": null,
- "metadata_key_type": "shared_key",
- "is_shared": true
}, - {
- "id": "4879d401-c242-458d-91a0-dba864c36535"
}
]
}
Response samples
- 200
- 400
- 401
{- "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
}
]
}
Get multiple users.
Authorizations:
query Parameters
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. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/users.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
{- "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": [ ]
}
]
}
Create a user.
Only users with admin
role can create other users.
Authorizations:
Request Body schema: application/jsonrequired
The user you want to create
username required | string <email> |
role_id | string <uuid> |
required | object |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "profile": {
- "first_name": "Ada",
- "last_name": "Lovelace"
}
}
Response samples
- 200
- 400
- 401
{- "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
}
}
Get a user.
Authorizations:
path Parameters
userId required | string <uuid> ID for the user being manipulated. Can be set to |
query Parameters
contain[missing_metadata_key_ids] | integer Enum: 1 0 Add missing metadata key IDs to response body. |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request GET \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 403
- 404
{- "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": [ ]
}
}
Update a user.
Neither the email or the username field which can be updated, and only administrators can update a user's role.
Authorizations:
path Parameters
userId required | string <uuid> ID for the user being manipulated. Can be set to |
Request Body schema: application/jsonrequired
The user you want to update
role_id | string <uuid> |
disabled | boolean |
object |
Responses
Request samples
- Payload
- cURL
- JavaScript
- PHP
{- "profile": {
- "first_name": "Freddie",
- "last_name": "Mercury"
}
}
Response samples
- 200
- 400
- 401
- 404
{- "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
}
}
Delete a user.
Only a user with an administrator role can delete users. A user
can not be deleted as long as:
- They are the sole owner of a shared resource.
- They are a manager of a non empty group.
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.
Authorizations:
path Parameters
userId required | string <uuid> ID for the user being manipulated. Can be set to |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}
Dry run a user deletion.
Authorizations:
path Parameters
userId required | string <uuid> ID for the user being manipulated. Can be set to |
Responses
Request samples
- cURL
- JavaScript
- PHP
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
Response samples
- 200
- 400
- 401
- 404
{- "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
}