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.
This reference grows with the product: endpoint groups are added as they are described, so an endpoint you do not find here may still exist on your instance. The route configuration of your server is what tells you exactly what it exposes.
Read the activity of an entity, or the raw action log. Requires the Pro Edition, the Enterprise Edition or a Cloud plan.
Returns the interpreted activities recorded for a folder. The caller must have access to the folder: a folder that does not exist and a folder the caller cannot see are answered the same way. This route is only registered when the folders plugin is enabled, and an instance without it answers the same 404, so the two cases cannot be told apart from the response.
| folderId required | string <uuid> ID for the folder being manipulated. |
| limit | integer Maximum number of elements to return on one page. |
| page | integer Page of results to return, starting at 1. |
curl --request GET \ --url {{API_BASE_URL}}/actionlog/folder/e97b14ba-8957-57c9-a357-f78a6e1e1a46.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "596027af-a2d2-4e65-a2df-76994bebb86e",
- "status": "success",
- "servertime": 1787641755,
- "action": "7f6e3578-fcc7-590e-afc0-7937308cac94",
- "message": "The operation was successful.",
- "url": "/actionlog/folder/68310d3c-7109-4002-be83-d9bd24389399.json",
- "code": 200,
- "pagination": {
- "limit": null,
- "page": 1,
- "count": 2
}
}, - "body": [
- {
- "action_log_id": "d8ffcfc8-bf36-492f-b0f6-66fc1d03a9d2",
- "type": "Permissions.updated",
- "data": {
- "permissions": {
- "added": [
- {
- "id": "2c84ec49-32a6-43a3-a5a8-9072e3bd0627",
- "type": 1,
- "resource": null,
- "folder": {
- "id": "68310d3c-7109-4002-be83-d9bd24389399",
- "name": "B"
}, - "user": {
- "id": "4efc9f19-7fd3-4ea3-b819-76e5a69cf74e",
- "profile": {
- "id": "33146efe-4ed8-4550-8266-1d83b4787cd2",
- "user_id": "4efc9f19-7fd3-4ea3-b819-76e5a69cf74e",
- "first_name": "Leia",
- "last_name": "Skywalker",
- "created": "2026-08-20T01:59:48+00:00",
- "modified": "2026-08-20T01:59:48+00:00",
- "avatar": {
- "url": {
}
}
}
}, - "group": null
}
], - "updated": [ ],
- "removed": [ ]
}, - "resource": null,
- "folder": {
- "id": "68310d3c-7109-4002-be83-d9bd24389399",
- "name": "B"
}
}, - "creator": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "avatar": {
- "id": "83e4e7d4-5892-4ea3-8ecf-9edc23bc476e",
- "profile_id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "created": "2026-08-25T05:20:33+00:00",
- "modified": "2026-08-25T05:20:33+00:00",
}
}
}, - "created": "2026-08-20T02:05:10+00:00",
- "id": "f94b03b4-05ec-525b-a590-50ccec0e0e1c"
}, - {
- "action_log_id": "3e96f8a8-b83b-495f-9c0d-6cd5198fbba5",
- "type": "Folders.created",
- "data": {
- "folder": {
- "folder_id": "68310d3c-7109-4002-be83-d9bd24389399",
- "name": "B",
- "id": "bf85837d-a01f-4ad9-8060-639a8d1f3750"
}
}, - "creator": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "avatar": {
- "id": "83e4e7d4-5892-4ea3-8ecf-9edc23bc476e",
- "profile_id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "created": "2026-08-25T05:20:33+00:00",
- "modified": "2026-08-25T05:20:33+00:00",
}
}
}, - "created": "2026-08-20T02:05:02+00:00",
- "id": "6d1a5dd6-f129-58b4-ac41-4e614ac30956"
}
]
}Returns the raw log entries recorded by the action log plugin, rather than the interpreted activities of an entity. Reserved to administrators.
| filter[has-users] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by users. |
| filter[is-success] | boolean Only return success elements. |
| filter[created-after] | string Only return elements created after a specific date-time. |
| filter[created-before] | string Only return elements created before a specific date-time. |
| limit | integer Maximum number of elements to return on one page. |
| page | integer Page of results to return, starting at 1. |
curl --request GET \ --url '{{API_BASE_URL}}/actionlog/logs.json?limit=50' \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "09ed197d-69a4-4b82-840a-3b23bf6c63a9",
- "status": "success",
- "servertime": 1787308667,
- "action": "1cf0de9b-2d43-5ff0-bebc-3ebbefb428f7",
- "message": "The operation was successful.",
- "url": "/actionlog/logs.json?limit=50",
- "code": 200,
- "pagination": {
- "limit": 50,
- "page": 1,
- "count": 3571
}
}, - "body": [
- {
- "id": "1e104142-dfa4-4017-9078-39f8f25ff9c7",
- "user_id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "action_id": "881ab948-e40f-5a72-91aa-54b442270029",
- "context": "GET /users/me.json",
- "status": 1,
- "created": "2026-08-21T10:37:47+00:00"
}, - {
- "id": "8068dead-21c7-4bf0-869f-7909b6f55ade",
- "user_id": null,
- "action_id": "17b8a54b-8069-586a-8ca2-7e7569b28e08",
- "context": "GET /actionlog/logs.json",
- "status": 0,
- "created": "2026-08-21T10:37:39+00:00"
}, - {
- "id": "527141f8-100a-4a1e-9823-47bbad21ee94",
- "user_id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "action_id": "1cf0de9b-2d43-5ff0-bebc-3ebbefb428f7",
- "context": "GET /actionlog/logs.json",
- "status": 1,
- "created": "2026-08-21T10:36:44+00:00"
}, - {
- "id": "bd0dc999-23d6-4ce1-9bf5-3cc1a3915237",
- "user_id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "action_id": "7f6e3578-fcc7-590e-afc0-7937308cac94",
- "context": "GET /actionlog/folder/92dfbccb-31bf-45e8-9850-184efd42f7f7.json",
- "status": 1,
- "created": "2026-08-21T10:36:33+00:00"
}
]
}Returns the interpreted activities recorded for a resource. The caller must have access to the resource: a resource that does not exist and a resource the caller cannot see are answered the same way.
| resourceId required | string <uuid> ID for the resource being manipulated. |
| limit | integer Maximum number of elements to return on one page. |
| page | integer Page of results to return, starting at 1. |
curl --request GET \ --url {{API_BASE_URL}}/actionlog/resource/8e3874ae-4b40-590b-968a-418f704b9d9a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "3b1344e1-89f3-470e-822b-e40db5d00183",
- "status": "success",
- "servertime": 1787308725,
- "action": "eb53befb-c89c-5bea-99a8-0376f8dedc59",
- "message": "The operation was successful.",
- "url": "/actionlog/resource/36484a18-1eb6-4863-9f50-05d9fc69ea69.json?limit=20",
- "code": 200,
- "pagination": {
- "limit": 20,
- "page": 1,
- "count": 1
}
}, - "body": [
- {
- "action_log_id": "9559706f-00e9-41a1-942f-ea970d2f300a",
- "type": "Resources.created",
- "data": {
- "resource": {
- "id": "36484a18-1eb6-4863-9f50-05d9fc69ea69",
- "name": null
}
}, - "creator": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "profile": {
- "first_name": "Ada",
- "last_name": "Lovelace",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "avatar": {
- "url": {
}
}
}
}, - "created": "2026-08-21T10:15:54+00:00",
- "id": "9304d035-a15e-5b59-9f99-2d299059724a"
}
]
}Returns the interpreted activities recorded for a user account.
| userId required | string <uuid> ID for the user being manipulated. Can be set to |
| limit | integer Maximum number of elements to return on one page. |
| page | integer Page of results to return, starting at 1. |
curl --request GET \ --url {{API_BASE_URL}}/actionlog/user/f848277c-5398-58f8-a82a-72397af2d450.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "4a3b29bd-3ae1-46b4-a7e6-1daa48d3b9ae",
- "status": "success",
- "servertime": 1787641731,
- "action": "837226cf-c641-50c5-ac9d-73493582617a",
- "message": "The operation was successful.",
- "url": "/actionlog/user/4bd348c4-6724-4c83-b497-a7e587fa0058.json",
- "code": 200,
- "pagination": {
- "limit": null,
- "page": 1,
- "count": 2
}
}, - "body": [
- {
- "action_log_id": "2dffdf91-d0a4-4df1-bbf5-cab59d8df56a",
- "type": "Users.updated",
- "data": {
- "user": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "role_id": "e4032f62-6ef7-450c-9133-e4abdbf8fd5a",
- "last_logged_in": "2026-08-25T05:19:57+00:00",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b"
}
}
}, - "creator": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "avatar": {
- "id": "83e4e7d4-5892-4ea3-8ecf-9edc23bc476e",
- "profile_id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "created": "2026-08-25T05:20:33+00:00",
- "modified": "2026-08-25T05:20:33+00:00",
}
}
}, - "created": "2026-08-25T05:20:33+00:00",
- "id": "6e22ffb8-934c-5d43-83c7-0237967dcf22"
}, - {
- "action_log_id": "71c97049-5b3d-4470-821b-9595f78f2652",
- "type": "Users.updated",
- "data": {
- "user": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "role_id": "e4032f62-6ef7-450c-9133-e4abdbf8fd5a",
- "last_logged_in": "2026-08-25T05:19:57+00:00",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b"
}
}
}, - "creator": {
- "id": "4bd348c4-6724-4c83-b497-a7e587fa0058",
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "avatar": {
- "id": "83e4e7d4-5892-4ea3-8ecf-9edc23bc476e",
- "profile_id": "262a4054-cb4e-4db7-9f8f-55598ca9902b",
- "created": "2026-08-25T05:20:33+00:00",
- "modified": "2026-08-25T05:20:33+00:00",
}
}
}, - "created": "2026-08-25T05:20:14+00:00",
- "id": "8b7c9e2d-0d16-59b5-b891-1bad5e76917b"
}
]
}The legacy authentication method, using the GPGAuth protocol.
Find more here.
Can be used as a session keep-alive.
curl --request GET \ --url {{API_BASE_URL}}/auth/is-authenticated.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}The user's key fingerprint and challenge data when required.
required | object | ||||||||||
| |||||||||||
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59"
}
}
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/login.json",
- "code": 200
}, - "body": null
}curl --request GET \ --url {{API_BASE_URL}}/auth/logout.json
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}curl --request GET \ --url {{API_BASE_URL}}/auth/verify.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/verify.json",
- "code": 200
}, - "body": {
- "fingerprint": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59",
- "keydata": "-----BEGIN PUBLIC KEY-----"
}
}The user's key fingerprint and an encrypted challenge token.
required | object | ||||||||||
| |||||||||||
{- "data": {
- "gpg_auth": {
- "keyid": "5FB36DE5C8E69DD4DB185DF2BC9F2749E432CB59",
- "server_verify_token": "-----BEGIN PGP MESSAGE-----"
}
}
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/verify.json",
- "code": 200
}, - "body": null
}JWT-based authentication is the preferred way to interact with the Passbolt API. Find more here
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/jwks.json
{- "keys": [
- {
- "kty": "RSA",
- "alg": "RS256",
- "use": "sig",
- "e": "AQAB",
- "n": "sP0CpKdQJF8KgPD9GOLiCssOhi8qHXp0TyyqkWNGWcZD3JTKuuWJhNn..."
}
]
}The user and refresh token for session identification.
| user_id required | string <uuid> |
| challenge required | string
|
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "challenge": "-----BEGIN PGP MESSAGE-----"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/login.json",
- "code": 200
}, - "body": {
- "challenge": "-----BEGIN PGP MESSAGE-----"
}
}The session associated to the refresh token you want to revoke.
| refresh_token | string <uuid> |
{- "refresh_token": "ad71952e-7842-599e-a19e-3a82e6974b23"
}{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}The user and refresh token for session identification.
| refresh_token required | string <uuid> |
| user_id required | string <uuid> |
{- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "refresh_token": "f8cea352-6bd3-4944-9523-20b31272bef0"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/refresh.json",
- "code": 200
}, - "body": {
- "access_token": "90c0d69c-a508-4cb6-a26c-799e52147ac0"
}
}This is not the key to use when encrypting the JWT login challenge.
curl --request GET \ --url {{API_BASE_URL}}/auth/jwt/rsa.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/auth/jwt/rsa.json",
- "code": 200
}, - "body": {
- "keydata": "-----BEGIN PUBLIC KEY-----"
}
}When the avatar doesn't exist, a placeholder image is returned instead.
| avatarId required | string <uuid> ID for the avatar being manipulated. |
| avatarFormat required | string Enum: "medium.jpg" "small.jpg" Format for the avatar being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/avatars/view/8ef95b32-e2a3-4b58-827c-dd67e68cfb49/medium.jpg
| commentId required | string <uuid> ID for the comment being manipulated. |
The comment you want to update
| content required | string |
{- "content": "no comment"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The comment was successfully updated.",
- "url": "/comments/41aca4aa-430c-4b60-a1f1-c0de1b52a1ce.json",
- "code": 200
}, - "body": {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}| commentId required | string <uuid> ID for the comment being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/comments/9149d7d7-e191-41d5-a263-cfccbd775f0b.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| resourceId required | string <uuid> ID for the resource being manipulated. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
curl --request GET \ --url {{API_BASE_URL}}/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": [
- {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "children": [ ]
}
]
}| resourceId required | string <uuid> ID for the resource being manipulated. |
The comment you want to add
| content required | string |
| parent_id | string <uuid> |
{- "content": "no comment"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The comment was successfully added.",
- "url": "/comments/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": {
- "id": "41aca4aa-430c-4b60-a1f1-c0de1b52a1ce",
- "parent_id": null,
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "content": "no comment",
- "created": "2024-09-05T14:15:47+00:00",
- "modified": "2024-09-05T14:43:22+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}curl --request GET \ --url {{API_BASE_URL}}/directorysync/synchronize/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": {
- "users": [
- {
- "model": "Users",
- "data": {
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "user_id": "5c10147b-c955-4972-be35-39859b107cc6",
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "c763e974-dcd7-4b76-953b-30fc884821bf"
}, - "role_id": "cf4dffa8-5bdf-422b-93ce-d727eceb3ea8",
- "deleted": false,
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "5c10147b-c955-4972-be35-39859b107cc6",
- "last_logged_in": null
}, - "action": "create",
- "status": "success",
- "created": "2025-07-21T14:03:58+00:00",
- "version": "2"
}, - {
- "model": "Users",
- "data": {
- "profile": {
- "first_name": "Luke",
- "last_name": "Skywalker",
- "user_id": "5c10147b-c955-4972-be35-39859b107cc6",
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "c763e974-dcd7-4b76-953b-30fc884821bf"
}, - "role_id": "cf4dffa8-5bdf-422b-93ce-d727eceb3ea8",
- "deleted": false,
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "5c10147b-c955-4972-be35-39859b107cc6",
- "last_logged_in": null
}, - "action": "create",
- "status": "success",
- "created": "2025-07-21T14:03:58+00:00",
- "version": "2"
}
]
}, - "groups": [ ]
}curl --request POST \ --url {{API_BASE_URL}}/directorysync/synchronize.json.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}' \
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": {
- "users": [
- {
- "model": "Users",
- "data": {
- "profile": {
- "first_name": "Anakin",
- "last_name": "Skywalker",
- "user_id": "5c10147b-c955-4972-be35-39859b107cc6",
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "c763e974-dcd7-4b76-953b-30fc884821bf"
}, - "role_id": "cf4dffa8-5bdf-422b-93ce-d727eceb3ea8",
- "deleted": false,
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "5c10147b-c955-4972-be35-39859b107cc6",
- "last_logged_in": null
}, - "action": "create",
- "status": "success",
- "created": "2025-07-21T14:03:58+00:00",
- "version": "2"
}, - {
- "model": "Users",
- "data": {
- "profile": {
- "first_name": "Luke",
- "last_name": "Skywalker",
- "user_id": "5c10147b-c955-4972-be35-39859b107cc6",
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "c763e974-dcd7-4b76-953b-30fc884821bf"
}, - "role_id": "cf4dffa8-5bdf-422b-93ce-d727eceb3ea8",
- "deleted": false,
- "created": "2025-07-21T14:03:58+00:00",
- "modified": "2025-07-21T14:03:58+00:00",
- "id": "5c10147b-c955-4972-be35-39859b107cc6",
- "last_logged_in": null
}, - "action": "create",
- "status": "success",
- "created": "2025-07-21T14:03:58+00:00",
- "version": "2"
}
]
}, - "groups": [ ]
}| favoriteId required | string <uuid> ID for the favorite being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/favorites/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| foreignId required | string <uuid> ID for the foreign element being manipulated. |
curl --request POST \ --url {{API_BASE_URL}}/favorites/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}' --header 'Content-Type: application/json' \
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The resource was marked as favorite.",
- "url": "/favorites/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": {
- "id": "90a25878-a6c1-43c1-a983-68d27f2f0be8",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "foreign_model": "Resource",
- "created": "2024-08-07T13:39:29+00:00",
- "modified": "2024-08-07T13:39:29+00:00"
}
}| contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
| contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[creator.profile] | integer Enum: 1 0 Add creator and their profile to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
| filter[has-id] | string <uuid> Only return elements filtered by their id. |
| filter[has-parent] | string <uuid> Only return elements filtered by parent folder. |
| filter[search] | string Filter using a keyword or a string. |
curl --request GET \ --url {{API_BASE_URL}}/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "162e4717-59a2-439b-86c6-fc651e989939",
- "name": "Bob",
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "folder_parent_id": null,
- "personal": true
}, - {
- "id": "9eb60ab8-afb9-4daa-bd38-35c7926da577",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "cc8140b3-6ecb-40b5-a977-a5eece53806c",
- "metadata_key_type": "shared_key",
- "created": "2021-04-30T05:56:06+00:00",
- "modified": "2021-04-30T05:56:06+00:00",
- "created_by": "f848277c-5398-58f8-a82a-72397af2d450",
- "modified_by": "f848277c-5398-58f8-a82a-72397af2d450",
- "folder_parent_id": null,
- "personal": true
}
]
}Encrypted metadata for this item is not supported on all clients.
| contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
| contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
The folder you want to create
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "e3dabc04-cfbd-45c1-9f7d-827c61603e20",
- "metadata_key_type": "shared_key"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}| folderId required | string <uuid> ID for the folder being manipulated. |
| contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
| contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[creator.profile] | integer Enum: 1 0 Add creator and their profile to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
| filter[has-id] | string <uuid> Only return elements filtered by their id. |
curl --request GET \ --url {{API_BASE_URL}}/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}Encrypted metadata for this item is not supported on all clients.
The current user must have the “update” or “owner” permission on the folder.
| folderId required | string <uuid> ID for the folder being manipulated. |
| contain[children_resources] | integer Enum: 1 0 Add children resources to response body. |
| contain[children_folders] | integer Enum: 1 0 Add children folders to response body. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
The folder you want to update
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
{- "metadata": "----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key"
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/folders/27605bac-8aa8-4fe4-a80b-486d8b76c748.json",
- "code": 200
}, - "body": {
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T13:50:53+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null,
- "personal": true
}
}| folderId required | string <uuid> ID for the folder being manipulated. |
| cascade | integer Enum: 1 0 Delete element and its children elements. |
curl --request DELETE \ --url {{API_BASE_URL}}/folders/b2a72cb2-508c-43ad-b96f-697f7ad21635.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}In order to encrypt information, the server and the clients needs the user's public keys. These OpenPGP endpoints let you query the saved public key data.
| filter[modified-after] | string Only return elements modified after a timestamp. |
| filter[is-deleted] | integer Enum: 1 0 Only return deleted elements. |
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/gpgkeys.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}
]
}| gpgkeyId required | string <uuid> ID for the GPG key being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/gpgkeys/ed4d9ea6-f354-4a74-ad09-4e1dd69041ec.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/gpgkeys/ed4d9ea6-f354-4a74-ad09-4e1dd69041ec.json",
- "code": 200
}, - "body": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}
}| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
| contain[my_group_user] | integer Enum: 1 0 Add |
| contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
| contain[groups_users.user] | integer Enum: 1 0 Add group users' user data to groups in response body. |
| contain[groups_users.user.profile] | integer Enum: 1 0 Add group users' user profiles to groups in response body. |
| contain[groups_users.user.gpgkey] | integer Enum: 1 0 Add group users' user gpg key to groups in response body. |
| filter[has-users] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by users. |
| filter[has-managers] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by managers. |
curl --request GET \ --url {{API_BASE_URL}}/groups.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": [
- {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": true,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
]
}Please note that only users with Admin role can create a group.
The group you want to create
| name required | string |
required | Array of objects |
{- "name": "Groupe B",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}
]
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": false,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
]
}
}| groupId required | string <uuid> ID for the group being manipulated. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[modifier.profile] | integer Enum: 1 0 Add modifier and their profile to response body. |
| contain[users] | integer Enum: 1 0 Add users to response body. |
| contain[my_group_user] | integer Enum: 1 0 Add |
| contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
| contain[groups_users.user] | integer Enum: 1 0 Add group users' user data to groups in response body. |
| contain[groups_users.user.profile] | integer Enum: 1 0 Add group users' user profiles to groups in response body. |
| contain[groups_users.user.gpgkey] | integer Enum: 1 0 Add group users' user gpg key to groups in response body. |
curl --request GET \ --url {{API_BASE_URL}}/groups/8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": true,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2"
}
}| groupId required | string <uuid> ID for the group being manipulated. |
The group you want to update
| name required | string |
required | Array of objects |
Array of objects |
{- "name": "WRC",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}, - {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "is_admin": false
}, - {
- "id": "1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
- "delete": true
}
], - "secrets": [
- {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups.json",
- "code": 200
}, - "body": {
- "id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "name": "Groupe B",
- "deleted": false,
- "created": "2024-07-08T10:13:20+00:00",
- "modified": "2024-07-08T10:13:20+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
]
}
}Only a group manager or a user with administrator role can delete a group. A group cannot be deleted as long as it is the sole owner of a shared resource or folder.
| groupId required | string <uuid> ID for the group being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| groupId required | string <uuid> ID for the group being manipulated. |
The group you want to update
| name required | string |
required | Array of objects |
Array of objects |
{- "name": "WRC",
- "groups_users": [
- {
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true
}, - {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "is_admin": false
}, - {
- "id": "1a2b3c4d-5e6f-7g8h-9i0j-k1l2m3n4o5p6",
- "delete": true
}
], - "secrets": [
- {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "resource_id": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "user_id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/groups/8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc/dry-run.json",
- "code": 200
}, - "body": {
- "dry-run": {
- "SecretsNeeded": [ ],
- "Secrets": [ ]
}
}
}| groupId required | string <uuid> ID for the group being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/groups/164d51b8-d6ce-4d59-b8a0-43869919407e/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": [ ]
}Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/healthcheck.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/healthcheck.json",
- "code": 200
}, - "body": {
- "environment": {
- "gnupg": true,
- "info": {
- "phpVersion": "8.2.20"
}, - "phpVersion": true,
- "nextMinPhpVersion": true,
- "pcre": true,
- "mbstring": true,
- "intl": true,
- "image": true,
- "tmpWritable": true,
- "logWritable": true
}, - "configFile": {
- "app": true,
- "passbolt": false
}, - "core": {
- "cache": true,
- "debugDisabled": false,
- "salt": true,
- "fullBaseUrl": true,
- "validFullBaseUrl": true,
- "fullBaseUrlReachable": true
}, - "ssl": {
- "info": "cURL Error (60) SSL certificate problem: self-signed certificate",
- "peerValid": false,
- "hostValid": false,
- "notSelfSigned": false
}, - "smtpSettings": {
- "isEnabled": true,
- "errorMessage": false,
- "source": "env variables",
- "isInDb": false,
- "areEndpointsDisabled": false,
- "customSslOptions": true
}, - "gpg": {
- "lib": true,
- "gpgHome": true,
- "gpgHomeWritable": true,
- "gpgKeyNotDefault": true,
- "gpgKeyPublicBlock": true,
- "gpgKeyPrivateBlock": true,
- "gpgKeyPublicReadable": true,
- "gpgKeyPrivateReadable": true,
- "gpgKeyPrivateFingerprint": true,
- "gpgKeyPublic": true,
- "gpgKeyPrivate": true,
- "gpgKey": true,
- "info": {
- "gpgKeyPrivate": "/etc/passbolt/gpg/serverkey_private.asc",
- "gpgHome": "/var/lib/passbolt/.gnupg"
}, - "gpgKeyPublicFingerprint": true,
- "gpgKeyPublicInKeyring": true,
- "gpgKeyPublicEmail": true,
- "canEncrypt": true,
- "canSign": true,
- "canEncryptSign": true,
- "canDecrypt": true,
- "canDecryptVerify": true,
- "canVerify": true,
- "isPublicServerKeyGopengpgCompatible": true,
- "isPrivateServerKeyGopengpgCompatible": true
}, - "applications": {
- "configPath": "/etc/passbolt/passbolt.php",
- "info": {
- "remoteVersion": "4.9.1",
- "currentVersion": "4.9.0"
}, - "latestVersion": false,
- "sslForce": false,
- "sslFullBaseUrl": true,
- "seleniumDisabled": true,
- "robotsIndexDisabled": true,
- "registrationClosed": {
- "isSelfRegistrationPluginEnabled": true,
- "selfRegistrationProvider": null,
- "isRegistrationPublicRemovedFromPassbolt": true
}, - "hostAvailabilityCheckEnabled": false,
- "jsProd": true,
- "emailNotificationEnabled": false,
- "schema": true
}, - "database": {
- "supportedBackend": true,
- "connect": true,
- "info": {
- "tablesCount": 31
}, - "tablesCount": true,
- "defaultContent": true
}
}
}curl --request GET \ --url {{API_BASE_URL}}/healthcheck/status.json
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "OK",
- "url": "/healthcheck/status.json",
- "code": 200
}, - "body": "OK"
}| filter[deleted] | integer Enum: 1 0 Filter for deleted elements. |
| filter[expired] | integer Enum: 1 0 Filter for expired elements. |
| contain[metadata_private_keys] | integer Enum: 1 0 Add metadata private keys in response. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1739979997,
- "action": "e38db0b5-838d-5f43-8609-92a25843e9d3",
- "message": "OK",
- "url": "/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1",
- "code": 200
}, - "body": [
- {
- "id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "expired": null,
- "deleted": null,
- "metadata_private_keys": [
- {
- "metadata_key_id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f"
}
]
}
]
}The metadata key you want to create
| armored_key required | string |
| fingerprint required | string |
required | Array of objects |
{- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "metadata_private_keys": [
- {
- "user_id": null,
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1739979997,
- "action": "e38db0b5-838d-5f43-8609-92a25843e9d3",
- "message": "OK",
- "url": "/metadata/keys.json?contain%5Bmetadata_private_keys%5D=1",
- "code": 200
}, - "body": [
- {
- "id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "expired": null,
- "deleted": null,
- "metadata_private_keys": [
- {
- "metadata_key_id": "2e5d88cb-9b04-4010-806c-a449315ae4d5",
- "user_id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "data": "-----BEGIN PGP MESSAGE-----\n\n",
- "created": "2025-02-03T09:10:47+00:00",
- "modified": "2025-02-03T09:10:47+00:00",
- "created_by": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "modified_by": "5ea1c453-749b-43ca-8606-b85d63ab137f"
}
]
}
]
}| metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
The metadata key you want to update
| fingerprint required | string |
| armored_key required | string |
| expired required | string <date-time> |
{- "fingerprint": "17B5913BC13128674F2A6F31C79A1AB152C3C573",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "expired": "2025-02-25T09:00:00+00:00"
}{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| metadataKeyId required | string <uuid> The metadata key identifier being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/keys/6c598bc2-8354-4d47-8844-37bae9fed02f.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}curl --request GET \ --url {{API_BASE_URL}}/metadata/keys/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "1911b18b-cf68-48cf-b69f-ec9dba39aff4",
- "status": "success",
- "servertime": 1740413047,
- "action": "b20e3cc2-e4ea-5b42-804b-7edc9878ef3d",
- "message": "The operation was successful.",
- "url": "/metadata/keys/settings.json",
- "code": 200
}, - "body": {
- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
}The metadata key settings you want to update
| allow_usage_of_personal_keys required | boolean |
| zero_knowledge_key_share required | boolean |
Array of objects |
{- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}{- "header": {
- "id": "1911b18b-cf68-48cf-b69f-ec9dba39aff4",
- "status": "success",
- "servertime": 1740413047,
- "action": "b20e3cc2-e4ea-5b42-804b-7edc9878ef3d",
- "message": "The operation was successful.",
- "url": "/metadata/keys/settings.json",
- "code": 200
}, - "body": {
- "allow_usage_of_personal_keys": true,
- "zero_knowledge_key_share": false
}
}Can also be used for sharing a missing private key for one or more users.
The metadata private keys that you want to create.
| data required | string |
| user_id required | string <uuid> |
| metadata_key_id required | string <uuid> |
[- {
- "metadata_key_id": "d00efe12-0892-4111-b08a-fb42d9e0a5de",
- "user_id": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "data": "-----BEGIN PGP MESSAGE-----"
}, - {
- "metadata_key_id": "7d316bc3-0cca-4b5d-9d77-3eb9c408f9df",
- "user_id": "4448fee0-2eef-4d47-b221-2101317f60d1",
- "data": "-----BEGIN PGP MESSAGE-----"
}
]{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": { }
}| metadataPrivateKeyId required | string <uuid> ID for the metadata private key manipulated. |
The metadata private keys that you want to update.
| data required | string |
{- "data": "-----BEGIN PGP MESSAGE-----"
}{- "user_id": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created_by": "eca7c94a-02ac-4e08-a7e1-035981c34868",
- "modified_by": "4448fee0-2eef-4d47-b221-2101317f60d1"
}Retrieve information about the resource types settings selected by the administrators
Get information from the resource types settings, as selected by the administrators.
curl --request GET \ --url {{API_BASE_URL}}/metadata/types/settings.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "0b2c4b00-561b-4d37-a27d-7499dc659b5f",
- "status": "success",
- "servertime": 1740387841,
- "action": "11ffb449-cd7d-5dc0-8dae-501ef3c9e8a7",
- "message": "The operation was successful.",
- "url": "/metadata/types/settings.json",
- "code": 200
}, - "body": {
- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}
}Administrators can define which resource type is the default
The metadata types settings you want to update
| default_resource_types required | string Enum: "v4" "v5" |
| default_folder_type required | string Enum: "v4" "v5" |
| default_tag_type required | string Enum: "v4" "v5" |
| default_comment_type required | string Enum: "v4" "v5" |
| allow_creation_of_v5_resources required | boolean |
| allow_creation_of_v5_folders required | boolean |
| allow_creation_of_v5_tags required | boolean |
| allow_creation_of_v5_comments required | boolean |
| allow_creation_of_v4_resources required | boolean |
| allow_creation_of_v4_folders required | boolean |
| allow_creation_of_v4_tags required | boolean |
| allow_creation_of_v4_comments required | boolean |
| allow_v5_v4_downgrade required | boolean |
| allow_v4_v5_upgrade required | boolean |
{- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}{- "header": {
- "id": "0b2c4b00-561b-4d37-a27d-7499dc659b5f",
- "status": "success",
- "servertime": 1740387841,
- "action": "11ffb449-cd7d-5dc0-8dae-501ef3c9e8a7",
- "message": "The operation was successful.",
- "url": "/metadata/types/settings.json",
- "code": 200
}, - "body": {
- "default_resource_types": "v5",
- "default_folder_type": "v4",
- "default_tag_type": "v4",
- "default_comment_type": "v4",
- "allow_creation_of_v5_resources": true,
- "allow_creation_of_v5_folders": false,
- "allow_creation_of_v5_tags": false,
- "allow_creation_of_v5_comments": false,
- "allow_creation_of_v4_resources": true,
- "allow_creation_of_v4_folders": true,
- "allow_creation_of_v4_tags": true,
- "allow_creation_of_v4_comments": true,
- "allow_v5_v4_downgrade": false,
- "allow_v4_v5_upgrade": true
}
}See the folders that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/{{MODEL}}.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}Rotate the metadata of a given set of folders
The object you want to rotate the metadata key
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
| modified required | string <date-time> |
| modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/{{MODEL}}.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}See the resources that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/resources.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}Rotate the metadata of a given set of resources
The object you want to rotate the metadata key
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
| modified required | string <date-time> |
| modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/resources.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "modified": "2024-07-08T08:06:25+00:00",
- "created": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}This endpoint is available since version 5.1.
See the tags that are using an expired key that needs to/can be rotated. Only administrators can query this endpoint.
curl --request GET \ --url {{API_BASE_URL}}/metadata/rotate-key/{{MODEL}}.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/tags.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key"
}
]
}This endpoint is available since version 5.1.
Rotate the metadata key of a given set of tags.
The tags you want to rotate the metadata key
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/rotate-key/tags.json",
- "code": 200,
- "pagination": {
- "count": 0,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key"
}
]
}Get a list of available encrypted session keys in cache for the given user.
curl --request GET \ --url {{API_BASE_URL}}/metadata/session-keys.json \ --header 'authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys.json",
- "code": 200
}, - "body": [
- {
- "id": "922216c5-fa6c-4487-9e4c-b2a9215f7f17",
- "user_id": "bf5dc039-314d-4ac1-938f-c1ad8331e28a",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2025-01-18T15:52:17+00:00",
- "modified": "2025-02-18T15:52:17+00:00"
}
]
}The metadata session key you want to add
| data required | string |
{- "data": "-----BEGIN PGP MESSAGE-----"
}{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c36e894d-ed63-5434-aa70-4b777f9fdf32",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys.json",
- "code": 200
}, - "body": {
- "id": "5ea1c453-749b-43ca-8606-b85d63ab137f",
- "user_id": "bf5dc039-314d-4ac1-938f-c1ad8331e28a",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2025-03-05T14:22:33+00:00",
- "modified": "2025-03-05T14:22:33+00:00"
}
}| sessionKeyId required | string <uuid> ID for the session key being manipulated |
The metadata session key you want to update
| data required | string |
| modified required | string <date-time> |
{- "data": "----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00"
}{- "header": {
- "id": "26c1344a-22ef-4c49-90a0-130a9c82a648",
- "status": "success",
- "servertime": 1740143504,
- "action": "c5969bdd-018f-552b-b20d-01636766a81f",
- "message": "The operation was successful.",
- "url": "/metadata/session-keys/16c1344a-33ae-4c49-90a0-130a9c82a091",
- "code": 200
}, - "body": {
- "data": "----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00"
}
}| sessionKeyId required | string <uuid> ID for the session key being manipulated |
curl --request DELETE \ --url {{API_BASE_URL}}/metadata/session-keys/9edeffa4-a4fb-4e6a-b5f8-1ffc3f408335.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}Encrypted metadata for this item is not supported on all clients.
Retrieves a list of folders that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
| filter[is-shared] | boolean Only return shared items. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/folders.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "personal": true,
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "name": "folder v4 format",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T14:36:51+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null
}
]
}Encrypted metadata for this item is not supported on all clients.
Upgrade folders that are eligible for an upgrade to v5 format.
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
The folders you want to upgrade the metadata for to v5 format
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
| modified required | string <date-time> |
| modified_by required | string <uuid> |
[- {
- "id": "0e840721-58ea-4649-b603-2d9cf4f2213c",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/folders.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "personal": true,
- "id": "27605bac-8aa8-4fe4-a80b-486d8b76c748",
- "name": "folder v4 format",
- "created": "2025-02-19T13:50:53+00:00",
- "modified": "2025-02-19T14:36:51+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "folder_parent_id": null
}
]
}Retrieves a list of resources that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
| filter[is-shared] | boolean Only return shared items. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "name": "password v4 format",
- "username": "anakin",
- "description": null,
- "deleted": false,
- "expired": null,
- "created": "2025-02-19T10:34:07+00:00",
- "modified": "2025-02-19T10:34:07+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51"
}
]
}Upgrade resources that are eligible for an upgrade to v5 format.
| filter[is-shared] | boolean Only return shared items. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
The resources you want to upgrade the metadata for to v5 format
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
| modified required | string <date-time> |
| modified_by required | string <uuid> |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "modified": "2025-02-18T15:52:17+00:00",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739"
}
]{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "name": "password v4 format",
- "username": "anakin",
- "description": null,
- "deleted": false,
- "expired": null,
- "created": "2025-02-19T10:34:07+00:00",
- "modified": "2025-02-19T10:34:07+00:00",
- "created_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "modified_by": "ae48ed02-54ea-4be4-9ae8-229bf8c04739",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51"
}
]
}This endpoint is available since version 5.1.
Encrypted metadata for this item is not supported on all clients.
Retrieves a list of tags that are eligible for an upgrade to v5 format. Results are paginated and the page size is fixed at 20.
| filter[is-shared] | boolean Only return shared items. |
curl --request GET \ --url {{API_BASE_URL}}/metadata/upgrade/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662b",
- "user_id": null,
- "slug": "important tag in v4 format",
- "is_shared": true
}
]
}This endpoint is available since version 5.1.
Encrypted metadata for this item is not supported on all clients.
Upgrade tags that are eligible for an upgrade to v5 format.
| filter[is-shared] | boolean Only return shared items. |
The tags you want to upgrade the metadata for to v5 format
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| id required | string <uuid> |
| is_shared required | boolean |
[- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662a",
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----"
}
]{- "header": {
- "id": "2b6024fb-2915-47e6-84e6-8988217b14e7",
- "status": "success",
- "servertime": 1740046035,
- "action": "8d061841-cef0-509a-8ee3-de91c7390d99",
- "message": "The operation was successful.",
- "url": "/metadata/upgrade/resources.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": 20
}
}, - "body": [
- {
- "id": "97f5415f-2e09-4171-a99e-1908e876662b",
- "user_id": null,
- "slug": "important tag in v4 format",
- "is_shared": true
}
]
}| foreignModel required | string Enum: "resource" "folder" Type for the foreign model being moved. |
| foreignId required | string <uuid> ID for the foreign element being manipulated. |
The target parent folder ID
| folder_parent_id required | string <uuid> |
{- "folder_parent_id": "a55d29ee-6781-49d6-b11e-36589d258be8"
}{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}Check if MFA validation is needed. 400 means that this kind of MFA is not required.
| mfaProviderName | string Enum: "totp" "yubikey" "duo" Name for the MFA provider. |
curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/totp.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| mfaProviderName | string Enum: "totp" "yubikey" "duo" Name for the MFA provider. |
The code for the MFA attempt.
| totp required | string One-time code for TOTP-based MFA. |
| remember | integer Enum: 0 1 |
{- "totp": "635742"
}{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}curl --request GET \ --url {{API_BASE_URL}}/mfa/verify/error.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "error",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "<ERROR MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 400
}, - "body": ""
}| resourceId required | string <uuid> ID for the resource being manipulated. |
| contain[group] | integer Enum: 1 0 Add group to response body. |
| contain[user] | integer Enum: 1 0 Add user to response body. |
| contain[user.profile] | integer Enum: 1 0 Add user profile to user data in response body. |
curl --request GET \ --url {{API_BASE_URL}}/permissions/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/permissions/resource/42968631-0c51-4405-9f2d-c6700c5057be.json",
- "code": 200
}, - "body": [
- {
- "id": "c4cc131e-b204-41e3-8e17-0f62be7d1d80",
- "aco": "Resource",
- "aco_foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "aro": "User",
- "aro_foreign_key": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "type": 15,
- "created": "2024-07-30T08:48:28+00:00",
- "modified": "2024-07-30T08:48:28+00:00"
}, - {
- "id": "4d664f1b-905e-4de4-ad2a-a7dce650565c",
- "aco": "Resource",
- "aco_foreign_key": "42968631-0c51-4405-9f2d-c6700c5057be",
- "aro": "User",
- "aro_foreign_key": "c48863da-32d3-48cd-9d47-de2891386423",
- "type": 1,
- "created": "2024-08-08T15:38:26+00:00",
- "modified": "2024-08-08T15:38:26+00:00"
}
]
}| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[favorite] | integer Enum: 1 0 Add favorite to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[secret] | integer Enum: 1 0 Add secrets to response body. |
| contain[resource-type] | integer Enum: 1 0 Add resource type to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
| filter[is-favorite] | boolean Only return favorite elements. |
| filter[is-shared-with-group] | string <uuid> Only return elements shared with group. |
| filter[is-owned-by-me] | boolean Only return elements owned by yourself. |
| filter[is-shared-with-me] | boolean Only return elements shared to yourself and you are not owner. |
| filter[has-id] | string <uuid> Only return elements filtered by their id. |
| filter[has-parent] | string <uuid> Only return elements filtered by parent folder. |
| filter[metadata_key_type] | string <uuid> Only return elements that match the metadata key type |
curl --request GET \ --url {{API_BASE_URL}}/resources.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resources.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}, - {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac89",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "created": "2024-08-08T08:06:25+00:00",
- "modified": "2024-08-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "deleted": false,
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
]
}The resource you want to create or update
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| 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> |
required | Array of objects One entry per recipient. The |
{- "folder_parent_id": null,
- "personal": true,
- "expired": null,
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "resource_type_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "secrets": [
- "-----BEGIN PGP MESSAGE-----"
]
}{- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}| resourceId required | string <uuid> ID for the resource being manipulated. |
| contain[creator] | integer Enum: 1 0 Add creator to response body. |
| contain[favorite] | integer Enum: 1 0 Add favorite to response body. |
| contain[modifier] | integer Enum: 1 0 Add modifier to response body. |
| contain[secret] | integer Enum: 1 0 Add secrets to response body. |
| contain[resource-type] | integer Enum: 1 0 Add resource type to response body. |
| contain[permission] | integer Enum: 1 0 Add permission to response body. |
| contain[permissions] | integer Enum: 1 0 Add permissions to response body. |
| contain[permissions.user.profile] | integer Enum: 1 0 Add user profile to permissions in response body. |
| contain[permissions.group] | integer Enum: 1 0 Add group to permissions in response body. |
curl --request GET \ --url {{API_BASE_URL}}/resources/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resources/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json",
- "code": 200
}, - "body": {
- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}
}If the password you are updating has been shared with 7 users, the secrets key will need to be an array of 7 objects.
You must encrypt and sign the new plaintext passwords using the recipient public key and the current user secret key. You can then create a list which include one object per user: the data key holds the encrypted plaintext password and user_id holds the user UUID.
| resourceId required | string <uuid> ID for the resource being manipulated. |
The resource you want to create or update
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| 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> |
required | Array of objects One entry per recipient. The |
{- "folder_parent_id": null,
- "personal": true,
- "expired": null,
- "metadata_key_id": "9d9a6672-35d6-4d0f-a807-b90edf25c275",
- "resource_type_id": "dd1f723d-0d1e-513f-8218-4055dc0530d0",
- "metadata_key_type": "shared_key",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "secrets": [
- "-----BEGIN PGP MESSAGE-----"
]
}{- "id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "0194fec1-65fa-7b6f-935a-9541c1c13281",
- "metadata_key_type": "shared_key",
- "deleted": false,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00",
- "created_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "modified_by": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_type_id": "a28a04cd-6f53-518a-967c-9963bf9cec51",
- "expired": null,
- "folder_parent_id": null,
- "personal": true
}| resourceId required | string <uuid> ID for the resource being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/resources/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}Resource-types are used for describing how and what data is stored for a resource and its associated secrets.
| contain[resources_count] | integer Enum: 1 0 Get the number of count of resources associated to this type of resource. |
| filter[is-deleted] | integer Enum: 1 0 Only return deleted elements. |
curl --request GET \ --url {{API_BASE_URL}}/resource-types.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resource-types.json",
- "code": 200
}, - "body": [
- {
- "id": "669f8c64-242a-59fb-92fc-81f660975fd3",
- "slug": "password-and-description",
- "name": "Password with description",
- "description": "A resource with the password and the description encrypted.",
- "definition": {
- "resource": {
- "type": "object",
- "required": [
- "name"
], - "properties": {
- "name": {
- "type": "string",
- "maxLength": 255
}, - "username": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 255
}, - {
- "type": "null"
}
]
}, - "uri": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 1024
}, - {
- "type": "null"
}
]
}
}
}, - "secret": {
- "type": "object",
- "required": [
- "password"
], - "properties": {
- "password": {
- "type": "string",
- "maxLength": 4096
}, - "description": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 10000
}, - {
- "type": null
}
]
}
}
}
}, - "deleted": null,
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
]
}| resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/resource-types/669f8c64-242a-59fb-92fc-81f660975fd3.json",
- "code": 200
}, - "body": {
- "id": "669f8c64-242a-59fb-92fc-81f660975fd3",
- "slug": "password-and-description",
- "name": "Password with description",
- "description": "A resource with the password and the description encrypted.",
- "definition": {
- "resource": {
- "type": "object",
- "required": [
- "name"
], - "properties": {
- "name": {
- "type": "string",
- "maxLength": 255
}, - "username": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 255
}, - {
- "type": "null"
}
]
}, - "uri": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 1024
}, - {
- "type": "null"
}
]
}
}
}, - "secret": {
- "type": "object",
- "required": [
- "password"
], - "properties": {
- "password": {
- "type": "string",
- "maxLength": 4096
}, - "description": {
- "anyOf": [
- {
- "type": "string",
- "maxLength": 10000
}, - {
- "type": null
}
]
}
}
}
}, - "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
}| resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
curl --request DELETE \ --url {{API_BASE_URL}}/resource-types/43051c9f-7122-4887-81e8-3b390cf0f04a.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| resourceTypeId required | string <uuid> ID for the resource type being manipulated. |
The resource types you want to update
| deleted | boolean or null |
{- "deleted": null
}{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": ""
}curl --request GET \ --url {{API_BASE_URL}}/roles.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/roles.json",
- "code": 200
}, - "body": [
- {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - {
- "id": "50307b17-a097-483b-b388-4bf262348180",
- "name": "guest",
- "description": "Non logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - {
- "id": "c2f96fb1-611d-466d-80fb-e82beba5ed87",
- "name": "user",
- "description": "Logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}
]
}| resourceId required | string <uuid> ID for the resource being manipulated. |
curl --request GET \ --url {{API_BASE_URL}}/secrets/resource/42968631-0c51-4405-9f2d-c6700c5057be.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/secrets/resource/ae60d89c-f13b-4fb1-b2dc-c8dc806cac88.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": {
- "id": "c9e3b8e0-5ea9-4f40-a5e9-e3e4d2002be2",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "resource_id": "ae60d89c-f13b-4fb1-b2dc-c8dc806cac88",
- "data": "-----BEGIN PGP MESSAGE-----",
- "created": "2024-07-08T08:06:25+00:00",
- "modified": "2024-07-08T08:06:25+00:00"
}
}curl --request GET \ --url {{API_BASE_URL}}/settings.json
{- "header": {
- "id": "2103c923-6b0c-42f9-b23f-0cceda9a2963",
- "status": "success",
- "servertime": 1740993528,
- "action": "bef9f3ca-86ef-5c6a-9b38-320e03ceb5df",
- "message": "The operation was successful.",
- "url": "/settings.json",
- "code": 200,
- "pagination": {
- "count": 2,
- "page": 1,
- "limit": null
}
}, - "body": {
- "passbolt": {
- "edition": "pro",
- "plugins": {
- "jwtAuthentication": {
- "enabled": true
}, - "accountRecoveryRequestHelp": {
- "enabled": true
}, - "accountRecovery": {
- "enabled": true
}, - "selfRegistration": {
- "enabled": true
}, - "sso": {
- "enabled": true
}, - "mfaPolicies": {
- "enabled": true
}, - "ssoRecover": {
- "enabled": true
}, - "userPassPhrasePolicies": {
- "enabled": true
}, - "inFormIntegration": {
- "enabled": true
}, - "metadata": {
- "version": "1.0.0",
- "enabled": true
}, - "locale": {
- "options": [
- {
- "locale": "de-DE",
- "label": "Deutsch"
}, - {
- "locale": "en-UK",
- "label": "English"
}, - {
- "locale": "en-ES",
- "label": "Español"
}, - {
- "locale": "fr-FR",
- "label": "Français"
}, - {
- "locale": "it-IT",
- "label": "Italiano (beta)"
}, - {
- "locale": "ja-JP",
- "label": "日本語"
}, - {
- "locale": "ko-KR",
- "label": "한국어 (beta)"
}, - {
- "locale": "lt-LT",
- "label": "Lietuvių"
}, - {
- "locale": "nl-NL",
- "label": "Nederlands"
}, - {
- "locale": "pl-PL",
- "label": "Polski"
}, - {
- "locale": "pt-PR",
- "label": "Português Brasil (beta)"
}, - {
- "locale": "ro-RO",
- "label": "Română (beta)"
}, - {
- "locale": "ru-RU",
- "label": "Pусский (beta)"
}, - {
- "locale": "sv-SE",
- "label": "Svenska"
}
]
}, - "rememberMe": {
- "options": {
- "300": "5 minutes",
- "900": "15 minutes",
- "1800": "30 minutes",
- "3600": "1 hour",
- "-1": "Until I log out"
}
}
}
}
}
}Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
curl --request GET \ --url {{API_BASE_URL}}/tags.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "15a7d119-07c7-4fcb-8afc-ee8eba41fdc0",
- "status": "success",
- "servertime": 1721207029,
- "action": "43efcc1ec-5cc1-5d2a-a16e-234f23b70719",
- "message": "The operation was successful.",
- "url": "/tags.json"
}, - "body": [
- {
- "id": "c9e3b8e0-5ea9-4f40-a5e9-e3e4d2002be2",
- "slug": "#sharedTag",
- "is_shared": true
}, - {
- "id": "9b3ffebf-f3a2-40dc-9e73-2c9b3a927932",
- "slug": "v4 format tag",
- "is_shared": false
}, - {
- "id": "04b87425-160e-4e31-b42f-89c455650331",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
]
}Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
| resourceOrTagId required | string <uuid> The tag (for |
The tag to update.
| metadata required | string An armoured OpenPGP message. Its cleartext is a JSON object carrying an |
| metadata_key_id required | string <uuid> |
| metadata_key_type required | string Enum: "user_key" "shared_key" |
| is_shared required | boolean |
{- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}{- "header": {
- "id": "15a7d119-07c7-4fcb-8afc-ee8eba41fdc0",
- "status": "success",
- "servertime": 1721207029,
- "action": "43efcc1ec-5cc1-5d2a-a16e-234f23b70719",
- "message": "The operation was successful.",
- "url": "/tags/04b87425-160e-4e31-b42f-89c455650331.json"
}, - "body": {
- "id": "04b87425-160e-4e31-b42f-89c455650331",
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": "ed94010c-6a97-488c-a60c-cfc6558f3ed7",
- "metadata_key_type": "shared_key",
- "is_shared": false
}
}Encrypted metadata for tags is available since version 5.1, and is not supported on all clients.
| resourceOrTagId required | string <uuid> The tag (for |
The tags to set for the resource.
| id required | string <uuid> |
{- "tags": [
- {
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": null,
- "metadata_key_type": "shared_key",
- "is_shared": true
}, - {
- "id": "4879d401-c242-458d-91a0-dba864c36535"
}
]
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1740497420,
- "action": "acef8942-0c23-5de8-92e8-76ed8c5664f2",
- "message": "The operation was successful.",
- "url": "/tags/b4651f60-392d-4af7-b204-0f8d26798b9b.json",
- "code": 200
}, - "body": [
- {
- "id": "52ca9f92-4115-4759-a965-89e6b41b36fd",
- "slug": "important",
- "is_shared": false
}, - {
- "metadata": "-----BEGIN PGP MESSAGE-----",
- "metadata_key_id": null,
- "metadata_key_type": "user_key",
- "is_shared": false
}
]
}| contain[last_logged_in] | integer Enum: 1 0 Add last logged in to response body. |
| contain[groups_users] | integer Enum: 1 0 Add group users to groups in response body. |
| contain[gpgkey] | integer Enum: 1 0 Add GPG key data to response body. |
| contain[profile] | integer Enum: 1 0 Add profile to response body. |
| contain[role] | integer Enum: 1 0 Add role to response body. |
| contain[missing_metadata_key_ids] | integer Enum: 1 0 Add missing metadata key IDs to response body. |
| filter[search] | string Filter using a keyword or a string. |
| filter[has-groups] | Array of strings <uuid> [ items <uuid > ] Only return elements filtered by groups. |
| filter[has-access] | Array of strings <uuid> [ items <uuid > ] Only return elements where specified users have access. |
| filter[is-admin] | boolean Only return admin users. |
| filter[is-active] | boolean Only return active elements. |
curl --request GET \ --url {{API_BASE_URL}}/users.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/users.json",
- "code": 200,
- "pagination": {
- "count": 1,
- "page": 1,
- "limit": null
}
}, - "body": [
- {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null,
- "missing_metadata_key_ids": [ ]
}
]
}Only users with admin role can create other users.
The user you want to create
| username required | string <email> |
| role_id | string <uuid> |
required | object |
{- "profile": {
- "first_name": "Ada",
- "last_name": "Lovelace"
}
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The user was successfully added. This user now need to complete the setup.",
- "url": "/users.json",
- "code": 200
}, - "body": {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": false,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [ ],
- "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": null,
- "role": {
- "id": "c2f96fb1-611d-466d-80fb-e82beba5ed87",
- "name": "user",
- "description": "Logged in user",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null
}
}| userId required | string <uuid> ID for the user being manipulated. Can be set to |
| contain[missing_metadata_key_ids] | integer Enum: 1 0 Add missing metadata key IDs to response body. |
curl --request GET \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The operation was successful.",
- "url": "/users/8bb80df5-700c-48ce-b568-85a60fc3c8f2.json",
- "code": 200
}, - "body": {
- "is_mfa_enabled": false,
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Ada",
- "last_name": "Lovelace",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null,
- "missing_metadata_key_ids": [ ]
}
}Neither the email or the username field which can be updated, and only administrators can update a user's role.
| userId required | string <uuid> ID for the user being manipulated. Can be set to |
The user you want to update
| role_id | string <uuid> |
| disabled | boolean |
object |
{- "profile": {
- "first_name": "Freddie",
- "last_name": "Mercury"
}
}{- "header": {
- "id": "7ff2828c-1092-4897-8e0a-1dc64ada889f",
- "status": "success",
- "servertime": 1721207029,
- "action": "4d0c0996-ce30-4bce-9918-9062ab35c542",
- "message": "The user has been updated successfully.",
- "url": "/users/8bb80df5-700c-48ce-b568-85a60fc3c8f2.json",
- "code": 200
}, - "body": {
- "id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "role_id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "active": true,
- "deleted": false,
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:53:52+00:00",
- "disabled": null,
- "groups_users": [
- {
- "id": "3b9b9757-1ccb-444a-a3cf-4090364fac4f",
- "group_id": "8a3c5c4e-e931-4e6b-854a-9b2e9afcd3bc",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "is_admin": true,
- "created": "2024-07-22T16:01:07+00:00"
}
], - "profile": {
- "id": "920edf1e-5ce8-4da4-a8fc-21040fe78d09",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "first_name": "Freddy",
- "last_name": "Mercury",
- "created": "2024-07-03T12:52:06+00:00",
- "modified": "2024-07-03T12:52:06+00:00",
- "avatar": {
- "url": {
}
}
}, - "gpgkey": {
- "id": "ed4d9ea6-f354-4a74-ad09-4e1dd69041ec",
- "user_id": "8bb80df5-700c-48ce-b568-85a60fc3c8f2",
- "armored_key": "-----BEGIN PGP PUBLIC KEY BLOCK-----",
- "bits": 3072,
- "key_id": "D277E7A2E45418A0",
- "fingerprint": "850C6BDE59E9F126BFB4683BD277E7A2E45418A0",
- "type": "RSA",
- "expires": null,
- "key_created": "2024-07-03T12:53:13+00:00",
- "deleted": false,
- "created": "2024-07-03T12:53:52+00:00",
- "modified": "2024-07-03T12:53:52+00:00"
}, - "role": {
- "id": "639b50cf-66f9-4b23-8d55-d0609710cd9d",
- "name": "admin",
- "description": "Organization administrator",
- "created": "2012-07-04T13:39:25+00:00",
- "modified": "2012-07-04T13:39:25+00:00"
}, - "last_logged_in": null
}
}Only a user with an administrator role can delete users. A user can not be deleted as long as:
In this case you will need to transfer the ownership of the shared resources and appoint a new manager to the group in order to proceed.
| userId required | string <uuid> ID for the user being manipulated. Can be set to |
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}| userId required | string <uuid> ID for the user being manipulated. Can be set to |
curl --request DELETE \ --url {{API_BASE_URL}}/users/8c640fd5-268c-4ae0-9e35-2f120cf1a831/dry-run.json \ --header 'Authorization: Bearer {{JWT_TOKEN}}'
{- "header": {
- "id": "f7be85c0-afb1-4d8e-a9e1-e05abb0bb71a",
- "status": "success",
- "servertime": 1721727753,
- "action": "e2aa01a9-84ec-55f8-aaed-24ee23259339",
- "message": "<SUCCESS MESSAGE>",
- "url": "<API ENDPOINT URL>",
- "code": 200
}, - "body": null
}