Shared Folders
Create and consume not24get shared folder links with read-only or read-write access for collaborators outside your usual workflow.
On this page
- getPreview folder email invite/folders/email-invites/{token}
- postAccept folder email invite/folders/email-invites/{token}/accept
- postDecline folder email invite/folders/email-invites/{token}/decline
- getView shared folder/folders/shared/{token}
- getList shared folder bookmarks/folders/shared/{token}/bookmarks
- postCreate shared folder bookmark/folders/shared/{token}/bookmarks
- deleteDelete shared folder bookmark/folders/shared/{token}/bookmarks/{bookmarkId}
- getGet shared folder bookmark/folders/shared/{token}/bookmarks/{bookmarkId}
- patchUpdate shared folder bookmark/folders/shared/{token}/bookmarks/{bookmarkId}
- getList in-app notifications/me/notifications
- patchMark notification read/me/notifications/{id}
- postMark notifications read/me/notifications/mark-read
- getList shared-with-you invites/me/shared-with-you
- getPreview shared-with-you invite/me/shared-with-you/{inviteId}
- postAccept shared-with-you invite/me/shared-with-you/{inviteId}/accept
- postDecline shared-with-you invite/me/shared-with-you/{inviteId}/decline
- getList folder email invites/workspaces/{workspaceId}/folders/{folderId}/email-invites
- postCreate folder email invites/workspaces/{workspaceId}/folders/{folderId}/email-invites
- getList folder grants/workspaces/{workspaceId}/folders/{folderId}/grants
- deleteRevoke folder grant/workspaces/{workspaceId}/folders/{folderId}/grants/{grantId}
- getList folder shares/workspaces/{workspaceId}/folders/{folderId}/shares
- postCreate folder share/workspaces/{workspaceId}/folders/{folderId}/shares
- deleteRevoke folder share/workspaces/{workspaceId}/folders/{folderId}/shares/{shareId}
Preview folder email invite
Returns public preview metadata for an invite token (folder name, permission, status).
Technical details
Exact HTTP method and path your client calls
/folders/email-invites/{token}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Responses
200
| Field | Type | Description |
|---|---|---|
| inviteId | string | |
| folderName | string | |
| permission | string | |
| senderAccountId | string | |
| note | string | |
| status | string | |
| expiresAt | string<date-time> · date-time |
{
"inviteId": "string",
"folderName": "string",
"permission": "string",
"senderAccountId": "string",
"note": "string",
"status": "string",
"expiresAt": "2026-01-01T00:00:00.000Z"
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/folders/email-invites/%3Atoken' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Accept folder email invite
Accepts an invite for the authenticated account (email must match). Creates a FolderGrant and mount folder in the chosen workspace.
Technical details
Exact HTTP method and path your client calls
/folders/email-invites/{token}/acceptPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Request body
| Field | Type | Description |
|---|---|---|
| workspaceIdrequired | string | |
| newTenant | boolean | |
| mountParentFolderId | string |
Responses
200
| Field | Type | Description |
|---|---|---|
| id | string | |
| folderId | string | |
| permission | string | enum: readread_write |
| mountFolderId | string | |
| mountWorkspaceId | string | |
| recipientTenantId | string | |
| recipientAccountId | string | |
| invitedByAccountId | string | |
| createdAt | string<date-time> · date-time |
{
"id": "string",
"folderId": "string",
"permission": "read",
"mountFolderId": "string",
"mountWorkspaceId": "string",
"recipientTenantId": "string",
"recipientAccountId": "string",
"invitedByAccountId": "string",
"createdAt": "2026-01-01T00:00:00.000Z"
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/folders/email-invites/%3Atoken/accept' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"workspaceId": "string",
"newTenant": false,
"mountParentFolderId": "string"
}'Try it
Decline folder email invite
Declines a pending invite for the authenticated account.
Technical details
Exact HTTP method and path your client calls
/folders/email-invites/{token}/declinePath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Responses
No Content
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/folders/email-invites/%3Atoken/decline' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
View shared folder
Returns shared folder metadata for an unauthenticated share link token.
Exact HTTP method and path your client calls
/folders/shared/{token}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Responses
Shared folder and bookmarks
| Field | Type | Description |
|---|---|---|
| object | ||
| Bookmark[] | ||
| permission | string | enum: readread_write |
{
"folder": {
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"name": "string",
"parentId": "string",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z"
},
"bookmarks": [
{
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"sortOrder": 0,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"linkStatus": "ok",
"lastLinkCheckedAt": "2026-01-01T00:00:00.000Z",
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string",
"isHeadlessPreviewBlocked": false,
"headlessPreviewBlockedAt": "2026-01-01T00:00:00.000Z",
"archive": {
"status": "none",
"retentionExpiresAt": "2026-01-01T00:00:00.000Z",
"metadataId": "string"
}
}
],
"permission": "read"
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/folders/shared/%3Atoken' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
List shared folder bookmarks
Lists bookmarks visible through a shared folder link.
Exact HTTP method and path your client calls
/folders/shared/{token}/bookmarksPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Responses
200
| Field | Type | Description |
|---|---|---|
| Bookmark[] | ||
| object | Bookmark in a workspace (serialized API shape). |
[
{
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"sortOrder": 0,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"linkStatus": "ok",
"lastLinkCheckedAt": "2026-01-01T00:00:00.000Z",
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string",
"isHeadlessPreviewBlocked": false,
"headlessPreviewBlockedAt": "2026-01-01T00:00:00.000Z",
"archive": {
"status": "none",
"retentionExpiresAt": "2026-01-01T00:00:00.000Z",
"metadataId": "string"
}
}
]Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/folders/shared/%3Atoken/bookmarks' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Create shared folder bookmark
Creates a bookmark inside a read-write shared folder link.
Exact HTTP method and path your client calls
/folders/shared/{token}/bookmarksPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required |
Request body
| Field | Type | Description |
|---|---|---|
| url | string | |
| title | string | |
| description | string | |
| tags | string[] | |
| folderId | string | |
| archiveCapture | boolean |
Responses
201
| Field | Type | Description |
|---|---|---|
| id | string | |
| tenantId | string | |
| workspaceId | string | |
| url | string | |
| title | string | |
| description | string | |
| tags | string[] | |
| folderId | string | |
| sortOrder | integer | |
| createdAt | string<date-time> · date-time | |
| updatedAt | string<date-time> · date-time | |
| linkStatus | string | enum: okdeadunknown |
| lastLinkCheckedAt | string<date-time> · date-time | |
| snapshotEnabled | boolean | |
| readerExcerpt | string | |
| videoEmbedUrl | string | |
| isHeadlessPreviewBlocked | boolean | |
| headlessPreviewBlockedAt | string<date-time> · date-time | |
| object |
{
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"sortOrder": 0,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"linkStatus": "ok",
"lastLinkCheckedAt": "2026-01-01T00:00:00.000Z",
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string",
"isHeadlessPreviewBlocked": false,
"headlessPreviewBlockedAt": "2026-01-01T00:00:00.000Z",
"archive": {
"status": "none",
"retentionExpiresAt": "2026-01-01T00:00:00.000Z",
"metadataId": "string"
}
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/folders/shared/%3Atoken/bookmarks' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"archiveCapture": false
}'Try it
Delete shared folder bookmark
Deletes a bookmark when the share link grants write access.
Exact HTTP method and path your client calls
/folders/shared/{token}/bookmarks/{bookmarkId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required | |
| bookmarkId | string | required |
Responses
204
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request DELETE \
--url 'https://api.not24get.me/folders/shared/%3Atoken/bookmarks/%3AbookmarkId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Get shared folder bookmark
Returns one bookmark from a shared folder link.
Exact HTTP method and path your client calls
/folders/shared/{token}/bookmarks/{bookmarkId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required | |
| bookmarkId | string | required |
Responses
200
| Field | Type | Description |
|---|---|---|
| id | string | |
| tenantId | string | |
| workspaceId | string | |
| url | string | |
| title | string | |
| description | string | |
| tags | string[] | |
| folderId | string | |
| sortOrder | integer | |
| createdAt | string<date-time> · date-time | |
| updatedAt | string<date-time> · date-time | |
| linkStatus | string | enum: okdeadunknown |
| lastLinkCheckedAt | string<date-time> · date-time | |
| snapshotEnabled | boolean | |
| readerExcerpt | string | |
| videoEmbedUrl | string | |
| isHeadlessPreviewBlocked | boolean | |
| headlessPreviewBlockedAt | string<date-time> · date-time | |
| object |
{
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"sortOrder": 0,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"linkStatus": "ok",
"lastLinkCheckedAt": "2026-01-01T00:00:00.000Z",
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string",
"isHeadlessPreviewBlocked": false,
"headlessPreviewBlockedAt": "2026-01-01T00:00:00.000Z",
"archive": {
"status": "none",
"retentionExpiresAt": "2026-01-01T00:00:00.000Z",
"metadataId": "string"
}
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/folders/shared/%3Atoken/bookmarks/%3AbookmarkId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Update shared folder bookmark
Updates a bookmark when the share link grants write access.
Exact HTTP method and path your client calls
/folders/shared/{token}/bookmarks/{bookmarkId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| token | string | required | |
| bookmarkId | string | required |
Request body
| Field | Type | Description |
|---|---|---|
| url | string | |
| title | string | |
| description | string | |
| tags | string[] | |
| folderId | string | |
| archiveCapture | boolean | |
| noticeVersion | string | |
| sortOrder | integer | |
| snapshotEnabled | boolean | |
| readerExcerpt | string | |
| videoEmbedUrl | string |
Responses
200
| Field | Type | Description |
|---|---|---|
| id | string | |
| tenantId | string | |
| workspaceId | string | |
| url | string | |
| title | string | |
| description | string | |
| tags | string[] | |
| folderId | string | |
| sortOrder | integer | |
| createdAt | string<date-time> · date-time | |
| updatedAt | string<date-time> · date-time | |
| linkStatus | string | enum: okdeadunknown |
| lastLinkCheckedAt | string<date-time> · date-time | |
| snapshotEnabled | boolean | |
| readerExcerpt | string | |
| videoEmbedUrl | string | |
| isHeadlessPreviewBlocked | boolean | |
| headlessPreviewBlockedAt | string<date-time> · date-time | |
| object |
{
"id": "string",
"tenantId": "string",
"workspaceId": "string",
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"sortOrder": 0,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"linkStatus": "ok",
"lastLinkCheckedAt": "2026-01-01T00:00:00.000Z",
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string",
"isHeadlessPreviewBlocked": false,
"headlessPreviewBlockedAt": "2026-01-01T00:00:00.000Z",
"archive": {
"status": "none",
"retentionExpiresAt": "2026-01-01T00:00:00.000Z",
"metadataId": "string"
}
}Errors return the standard envelope. See error reference.
Code samples
curl --request PATCH \
--url 'https://api.not24get.me/folders/shared/%3Atoken/bookmarks/%3AbookmarkId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"url": "string",
"title": "string",
"description": "string",
"tags": [
"string"
],
"folderId": "string",
"archiveCapture": false,
"noticeVersion": "string",
"sortOrder": 0,
"snapshotEnabled": false,
"readerExcerpt": "string",
"videoEmbedUrl": "string"
}'Try it
List in-app notifications
Returns bell notifications with title, body, category, and unread count. Optional type filter.
Technical details
Exact HTTP method and path your client calls
/me/notificationsQuery parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | optional | |
| type | string | optional |
Responses
200
| Field | Type | Description |
|---|---|---|
| unreadCount | integer | |
| InAppNotification[] |
{
"unreadCount": 0,
"notifications": [
{
"id": "string",
"type": "string",
"category": "string",
"title": "string",
"body": "string",
"ctaLabel": "string",
"payload": {},
"linkTarget": "string",
"readAt": "2026-01-01T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/me/notifications' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Mark notification read
Marks a single in-app notification as read for the current account.
Technical details
Exact HTTP method and path your client calls
/me/notifications/{id}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | required |
Responses
No Content
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request PATCH \
--url 'https://api.not24get.me/me/notifications/%3Aid' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Mark notifications read
Marks all unread notifications, or only the given ids when provided.
Technical details
Exact HTTP method and path your client calls
/me/notifications/mark-readRequest body
| Field | Type | Description |
|---|---|---|
| ids | string[] | Optional notification ids. When omitted or empty, marks all unread. |
Responses
200
| Field | Type | Description |
|---|---|---|
| markedCount | integer |
{
"markedCount": 0
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/me/notifications/mark-read' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"ids": [
"string"
]
}'Try it
List shared-with-you invites
Returns pending and expired folder email invites for the current account.
Exact HTTP method and path your client calls
/me/shared-with-youResponses
200
| Field | Type | Description |
|---|---|---|
| SharedWithYouInvite[] |
{
"invites": [
{
"inviteId": "string",
"folderId": "string",
"folderName": "string",
"permission": "string",
"status": "string",
"senderAccountId": "string",
"expiresAt": "2026-01-01T00:00:00.000Z",
"createdAt": "2026-01-01T00:00:00.000Z",
"note": "string",
"isExpired": false
}
]
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/me/shared-with-you' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Preview shared-with-you invite
Authenticated preview by invite id for the recipient session (no email token required).
Exact HTTP method and path your client calls
/me/shared-with-you/{inviteId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| inviteId | string | required |
Responses
200
| Field | Type | Description |
|---|---|---|
| inviteId | string | |
| folderName | string | |
| permission | string | |
| senderAccountId | string | |
| note | string | |
| status | string | |
| expiresAt | string<date-time> · date-time |
{
"inviteId": "string",
"folderName": "string",
"permission": "string",
"senderAccountId": "string",
"note": "string",
"status": "string",
"expiresAt": "2026-01-01T00:00:00.000Z"
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/me/shared-with-you/%3AinviteId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
Accept shared-with-you invite
Accepts a pending invite by id for the authenticated recipient. Clears related bell notifications.
Exact HTTP method and path your client calls
/me/shared-with-you/{inviteId}/acceptPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| inviteId | string | required |
Request body
| Field | Type | Description |
|---|---|---|
| workspaceIdrequired | string | |
| newTenant | boolean | |
| mountParentFolderId | string |
Responses
200
| Field | Type | Description |
|---|---|---|
| id | string | |
| folderId | string | |
| permission | string | enum: readread_write |
| mountFolderId | string | |
| mountWorkspaceId | string | |
| recipientTenantId | string | |
| recipientAccountId | string | |
| invitedByAccountId | string | |
| createdAt | string<date-time> · date-time |
{
"id": "string",
"folderId": "string",
"permission": "read",
"mountFolderId": "string",
"mountWorkspaceId": "string",
"recipientTenantId": "string",
"recipientAccountId": "string",
"invitedByAccountId": "string",
"createdAt": "2026-01-01T00:00:00.000Z"
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/me/shared-with-you/%3AinviteId/accept' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--data '{
"workspaceId": "string",
"newTenant": false,
"mountParentFolderId": "string"
}'Try it
Decline shared-with-you invite
Declines a pending invite by id for the authenticated recipient. Clears related bell notifications.
Exact HTTP method and path your client calls
/me/shared-with-you/{inviteId}/declinePath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| inviteId | string | required |
Responses
No Content
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/me/shared-with-you/%3AinviteId/decline' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json'Try it
List folder email invites
Lists cross-tenant email invites for a folder (pending, accepted, declined, expired).
Technical details
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/email-invitesPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Responses
200
| Field | Type | Description |
|---|---|---|
| FolderEmailInvite[] |
{
"invites": [
{
"id": "string",
"recipientEmail": "string",
"permission": "read",
"status": "string",
"expiresAt": "2026-01-01T00:00:00.000Z",
"senderAccountId": "string",
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/email-invites' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>'Try it
Create folder email invites
Creates one invite per recipient with per-recipient permission and sends invite emails.
Technical details
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/email-invitesPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Request body
| Field | Type | Description |
|---|---|---|
| required | FolderEmailInviteRecipient[] | |
| note | string | |
| isOwner | boolean |
Responses
200
| Field | Type | Description |
|---|---|---|
| FolderEmailInvite[] |
{
"invites": [
{
"id": "string",
"recipientEmail": "string",
"permission": "read",
"status": "string",
"expiresAt": "2026-01-01T00:00:00.000Z",
"senderAccountId": "string",
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/email-invites' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>' \
--data '{
"recipients": [
{
"email": "string",
"permission": "read"
}
],
"note": "string",
"isOwner": false
}'Try it
List folder grants
Lists active cross-tenant grants for a folder (owner tenant).
Technical details
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/grantsPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Responses
200
| Field | Type | Description |
|---|---|---|
| FolderGrant[] |
{
"grants": [
{
"id": "string",
"folderId": "string",
"permission": "read",
"mountFolderId": "string",
"mountWorkspaceId": "string",
"recipientTenantId": "string",
"recipientAccountId": "string",
"invitedByAccountId": "string",
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/grants' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>'Try it
Revoke folder grant
Owner-tenant revoke of a grant. Removes the recipient mount; does not cascade other grants.
Technical details
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/grants/{grantId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required | |
| grantId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Responses
No Content
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request DELETE \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/grants/%3AgrantId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>'Try it
List folder shares
Lists active share links for a folder.
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/sharesPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Responses
200
| Field | Type | Description |
|---|---|---|
| FolderShare[] | ||
| object |
[
{
"id": "string",
"permission": "read",
"token": "string",
"createdAt": "2026-01-01T00:00:00.000Z",
"expiresAt": "2026-01-01T00:00:00.000Z",
"shareUrl": "https://example.com"
}
]Errors return the standard envelope. See error reference.
Code samples
curl --request GET \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/shares' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>'Try it
Create folder share
Creates a read-only or read-write share link for a folder. Pass reuseExisting=true with permission=read to return the stable view-only link when one already exists.
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/sharesPath parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Request body
| Field | Type | Description |
|---|---|---|
| permissionrequired | string | enum: readread_write |
| reuseExisting | boolean | When true with permission=read, reuse the stable view-only share if one exists. |
Responses
201
| Field | Type | Description |
|---|---|---|
| id | string | |
| permission | string | enum: readread_write |
| createdAt | string<date-time> · date-time | |
| expiresAt | string<date-time> · date-time | |
| token | string | |
| shareUrl | string<uri> · uri | |
| isCreated | boolean |
{
"id": "string",
"permission": "read",
"createdAt": "2026-01-01T00:00:00.000Z",
"expiresAt": "2026-01-01T00:00:00.000Z",
"token": "string",
"shareUrl": "https://example.com",
"isCreated": false
}Errors return the standard envelope. See error reference.
Code samples
curl --request POST \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/shares' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>' \
--data '{
"permission": "read",
"reuseExisting": false
}'Try it
Revoke folder share
Revokes an active folder share link. Returns no body on success.
Exact HTTP method and path your client calls
/workspaces/{workspaceId}/folders/{folderId}/shares/{shareId}Path parameters
| Name | Type | Required | Description |
|---|---|---|---|
| workspaceId | string | required | |
| folderId | string | required | |
| shareId | string | required |
Headers
| Name | Type | Required | Description |
|---|---|---|---|
| X-Workspace-ID | string | optional | Target workspace when the API key is tenant-wide or to disambiguate scope. |
Responses
204
| Field | Type | Description |
|---|---|---|
| (value) | EmptyResponsePart |
nullErrors return the standard envelope. See error reference.
Code samples
curl --request DELETE \
--url 'https://api.not24get.me/workspaces/%3AworkspaceId/folders/%3AfolderId/shares/%3AshareId' \
--header 'Authorization: Bearer <your-api-key>' \
--header 'Content-Type: application/json' \
--header 'X-Workspace-ID: <workspace-id>'