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

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

get/folders/email-invites/{token}

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Responses

200

FieldTypeDescription
inviteIdstring
folderNamestring
permissionstring
senderAccountIdstring
notestring
statusstring
expiresAtstring<date-time> · date-time
Example
{
  "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

Path parameters

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

post/folders/email-invites/{token}/accept

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Request body

FieldTypeDescription
workspaceIdrequiredstring
newTenantboolean
mountParentFolderIdstring

Responses

200

FieldTypeDescription
idstring
folderIdstring
permissionstring
enum: readread_write
mountFolderIdstring
mountWorkspaceIdstring
recipientTenantIdstring
recipientAccountIdstring
invitedByAccountIdstring
createdAtstring<date-time> · date-time
Example
{
  "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

Path parameters
Request body (JSON)

Decline folder email invite

Declines a pending invite for the authenticated account.

Technical details

Exact HTTP method and path your client calls

post/folders/email-invites/{token}/decline

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Responses

No Content

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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

Path parameters

View shared folder

Returns shared folder metadata for an unauthenticated share link token.

Technical details

Exact HTTP method and path your client calls

get/folders/shared/{token}

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Responses

Shared folder and bookmarks

FieldTypeDescription
object
Bookmark[]
permissionstring
enum: readread_write
Example
{
  "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

Path parameters

List shared folder bookmarks

Lists bookmarks visible through a shared folder link.

Technical details

Exact HTTP method and path your client calls

get/folders/shared/{token}/bookmarks

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Responses

200

FieldTypeDescription
Bookmark[]
object
Bookmark in a workspace (serialized API shape).
Example
[
  {
    "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

Path parameters

Create shared folder bookmark

Creates a bookmark inside a read-write shared folder link.

Technical details

Exact HTTP method and path your client calls

post/folders/shared/{token}/bookmarks

Path parameters

NameTypeRequiredDescription
tokenstringrequired

Request body

FieldTypeDescription
urlstring
titlestring
descriptionstring
tagsstring[]
folderIdstring
archiveCaptureboolean

Responses

201

FieldTypeDescription
idstring
tenantIdstring
workspaceIdstring
urlstring
titlestring
descriptionstring
tagsstring[]
folderIdstring
sortOrderinteger
createdAtstring<date-time> · date-time
updatedAtstring<date-time> · date-time
linkStatusstring
enum: okdeadunknown
lastLinkCheckedAtstring<date-time> · date-time
snapshotEnabledboolean
readerExcerptstring
videoEmbedUrlstring
isHeadlessPreviewBlockedboolean
headlessPreviewBlockedAtstring<date-time> · date-time
object
Example
{
  "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

Path parameters
Request body (JSON)

Delete shared folder bookmark

Deletes a bookmark when the share link grants write access.

Technical details

Exact HTTP method and path your client calls

delete/folders/shared/{token}/bookmarks/{bookmarkId}

Path parameters

NameTypeRequiredDescription
tokenstringrequired
bookmarkIdstringrequired

Responses

204

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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

Path parameters

Get shared folder bookmark

Returns one bookmark from a shared folder link.

Technical details

Exact HTTP method and path your client calls

get/folders/shared/{token}/bookmarks/{bookmarkId}

Path parameters

NameTypeRequiredDescription
tokenstringrequired
bookmarkIdstringrequired

Responses

200

FieldTypeDescription
idstring
tenantIdstring
workspaceIdstring
urlstring
titlestring
descriptionstring
tagsstring[]
folderIdstring
sortOrderinteger
createdAtstring<date-time> · date-time
updatedAtstring<date-time> · date-time
linkStatusstring
enum: okdeadunknown
lastLinkCheckedAtstring<date-time> · date-time
snapshotEnabledboolean
readerExcerptstring
videoEmbedUrlstring
isHeadlessPreviewBlockedboolean
headlessPreviewBlockedAtstring<date-time> · date-time
object
Example
{
  "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

Path parameters

Update shared folder bookmark

Updates a bookmark when the share link grants write access.

Technical details

Exact HTTP method and path your client calls

patch/folders/shared/{token}/bookmarks/{bookmarkId}

Path parameters

NameTypeRequiredDescription
tokenstringrequired
bookmarkIdstringrequired

Request body

FieldTypeDescription
urlstring
titlestring
descriptionstring
tagsstring[]
folderIdstring
archiveCaptureboolean
noticeVersionstring
sortOrderinteger
snapshotEnabledboolean
readerExcerptstring
videoEmbedUrlstring

Responses

200

FieldTypeDescription
idstring
tenantIdstring
workspaceIdstring
urlstring
titlestring
descriptionstring
tagsstring[]
folderIdstring
sortOrderinteger
createdAtstring<date-time> · date-time
updatedAtstring<date-time> · date-time
linkStatusstring
enum: okdeadunknown
lastLinkCheckedAtstring<date-time> · date-time
snapshotEnabledboolean
readerExcerptstring
videoEmbedUrlstring
isHeadlessPreviewBlockedboolean
headlessPreviewBlockedAtstring<date-time> · date-time
object
Example
{
  "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

Path parameters
Request body (JSON)

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

get/me/notifications

Query parameters

NameTypeRequiredDescription
limitnumberoptional
typestringoptional

Responses

200

FieldTypeDescription
unreadCountinteger
InAppNotification[]
Example
{
  "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

Query parameters

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

patch/me/notifications/{id}

Path parameters

NameTypeRequiredDescription
idstringrequired

Responses

No Content

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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

Path parameters

Mark notifications read

Marks all unread notifications, or only the given ids when provided.

Technical details

Exact HTTP method and path your client calls

post/me/notifications/mark-read

Request body

FieldTypeDescription
idsstring[]
Optional notification ids. When omitted or empty, marks all unread.

Responses

200

FieldTypeDescription
markedCountinteger
Example
{
  "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

Request body (JSON)

List shared-with-you invites

Returns pending and expired folder email invites for the current account.

Technical details

Exact HTTP method and path your client calls

get/me/shared-with-you

Responses

200

FieldTypeDescription
SharedWithYouInvite[]
Example
{
  "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).

Technical details

Exact HTTP method and path your client calls

get/me/shared-with-you/{inviteId}

Path parameters

NameTypeRequiredDescription
inviteIdstringrequired

Responses

200

FieldTypeDescription
inviteIdstring
folderNamestring
permissionstring
senderAccountIdstring
notestring
statusstring
expiresAtstring<date-time> · date-time
Example
{
  "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

Path parameters

Accept shared-with-you invite

Accepts a pending invite by id for the authenticated recipient. Clears related bell notifications.

Technical details

Exact HTTP method and path your client calls

post/me/shared-with-you/{inviteId}/accept

Path parameters

NameTypeRequiredDescription
inviteIdstringrequired

Request body

FieldTypeDescription
workspaceIdrequiredstring
newTenantboolean
mountParentFolderIdstring

Responses

200

FieldTypeDescription
idstring
folderIdstring
permissionstring
enum: readread_write
mountFolderIdstring
mountWorkspaceIdstring
recipientTenantIdstring
recipientAccountIdstring
invitedByAccountIdstring
createdAtstring<date-time> · date-time
Example
{
  "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

Path parameters
Request body (JSON)

Decline shared-with-you invite

Declines a pending invite by id for the authenticated recipient. Clears related bell notifications.

Technical details

Exact HTTP method and path your client calls

post/me/shared-with-you/{inviteId}/decline

Path parameters

NameTypeRequiredDescription
inviteIdstringrequired

Responses

No Content

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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

Path parameters

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

get/workspaces/{workspaceId}/folders/{folderId}/email-invites

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Responses

200

FieldTypeDescription
FolderEmailInvite[]
Example
{
  "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

Path parameters
Headers
This endpoint requires a workspace ID. Set one in the API key dialog.

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

post/workspaces/{workspaceId}/folders/{folderId}/email-invites

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Request body

FieldTypeDescription
requiredFolderEmailInviteRecipient[]
notestring
isOwnerboolean

Responses

200

FieldTypeDescription
FolderEmailInvite[]
Example
{
  "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

Path parameters
Headers
Request body (JSON)
This endpoint requires a workspace ID. Set one in the API key dialog.

List folder grants

Lists active cross-tenant grants for a folder (owner tenant).

Technical details

Exact HTTP method and path your client calls

get/workspaces/{workspaceId}/folders/{folderId}/grants

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Responses

200

FieldTypeDescription
FolderGrant[]
Example
{
  "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

Path parameters
Headers
This endpoint requires a workspace ID. Set one in the API key dialog.

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

delete/workspaces/{workspaceId}/folders/{folderId}/grants/{grantId}

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired
grantIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Responses

No Content

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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

Path parameters
Headers
This endpoint requires a workspace ID. Set one in the API key dialog.

List folder shares

Lists active share links for a folder.

Technical details

Exact HTTP method and path your client calls

get/workspaces/{workspaceId}/folders/{folderId}/shares

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Responses

200

FieldTypeDescription
FolderShare[]
object
Example
[
  {
    "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

Path parameters
Headers
This endpoint requires a workspace ID. Set one in the API key dialog.

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.

Technical details

Exact HTTP method and path your client calls

post/workspaces/{workspaceId}/folders/{folderId}/shares

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Request body

FieldTypeDescription
permissionrequiredstring
enum: readread_write
reuseExistingboolean
When true with permission=read, reuse the stable view-only share if one exists.

Responses

201

FieldTypeDescription
idstring
permissionstring
enum: readread_write
createdAtstring<date-time> · date-time
expiresAtstring<date-time> · date-time
tokenstring
shareUrlstring<uri> · uri
isCreatedboolean
Example
{
  "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

Path parameters
Headers
Request body (JSON)
This endpoint requires a workspace ID. Set one in the API key dialog.

Revoke folder share

Revokes an active folder share link. Returns no body on success.

Technical details

Exact HTTP method and path your client calls

delete/workspaces/{workspaceId}/folders/{folderId}/shares/{shareId}

Path parameters

NameTypeRequiredDescription
workspaceIdstringrequired
folderIdstringrequired
shareIdstringrequired

Headers

NameTypeRequiredDescription
X-Workspace-IDstringoptionalTarget workspace when the API key is tenant-wide or to disambiguate scope.

Responses

204

FieldTypeDescription
(value)EmptyResponsePart
Example
null

Errors 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>'

Try it

Path parameters
Headers
This endpoint requires a workspace ID. Set one in the API key dialog.