diff --git a/api-reference/open-api/openapi.yaml b/api-reference/open-api/openapi.yaml
index 7a28d017..92eb6842 100644
--- a/api-reference/open-api/openapi.yaml
+++ b/api-reference/open-api/openapi.yaml
@@ -134,13 +134,21 @@ components:
example: Your Document Name
accessType:
type: string
- enum: [public, restricted]
- description: Access type of the document
+ enum: [public, restricted, organizationPrivate]
+ description: |
+ Access type of the document:
+ - public: Anyone with the link can access
+ - restricted: Only specified users can access
+ - organizationPrivate: All users in the organization can access
example: public
disabled:
type: boolean
description: Whether the document is disabled
example: false
+ folderId:
+ type: string
+ description: ID of the folder this document belongs to
+ example: yourFolderId
Folder:
type: object
@@ -233,6 +241,271 @@ components:
type: string
description: Error status code
example: INVALID_ARGUMENT
+
+ PermissionData:
+ type: object
+ required:
+ - userId
+ - resourceId
+ - type
+ - hasAccess
+ properties:
+ userId:
+ type: string
+ description: ID of the user this permission applies to
+ example: user123
+ resourceId:
+ type: string
+ description: ID of the resource (document, folder, or organization)
+ example: document456
+ type:
+ type: string
+ enum: [document, folder, organization]
+ description: Type of the resource
+ example: document
+ hasAccess:
+ type: boolean
+ description: Whether the user has access to the resource
+ example: true
+ accessRole:
+ type: string
+ enum: [viewer, editor]
+ description: Access role for the user (applicable for document resources)
+ example: viewer
+ expiresAt:
+ type: integer
+ format: int64
+ description: UTC timestamp in milliseconds when this permission expires
+ example: 1759745729823
+
+ CommentAnnotation:
+ type: object
+ properties:
+ annotationId:
+ type: string
+ description: Unique identifier for the annotation
+ example: customAnnotationId
+ location:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Location ID
+ locationName:
+ type: string
+ description: Location name
+ targetElement:
+ type: object
+ properties:
+ elementId:
+ type: string
+ description: Element ID
+ targetText:
+ type: string
+ description: Target text content
+ occurrence:
+ type: integer
+ description: Occurrence number of the text
+ selectAllContent:
+ type: boolean
+ description: Whether all content is selected
+ status:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Status ID
+ type:
+ type: string
+ enum: [default, ongoing]
+ description: Status type
+ priority:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Priority ID
+ type:
+ type: string
+ description: Priority type
+ from:
+ $ref: '#/components/schemas/UserContact'
+ commentData:
+ type: array
+ items:
+ $ref: '#/components/schemas/Comment'
+ createdAt:
+ type: integer
+ format: int64
+ description: Creation timestamp in milliseconds
+ lastUpdated:
+ type: integer
+ format: int64
+ description: Last update timestamp in milliseconds
+
+ Comment:
+ type: object
+ properties:
+ commentId:
+ type: integer
+ description: Unique identifier for the comment
+ example: 12345
+ commentText:
+ type: string
+ description: Plain text content of the comment
+ example: Sample Comment with {{userId}} tagged
+ commentHtml:
+ type: string
+ description: HTML content of the comment
+ example:
Sample Comment
+ from:
+ $ref: '#/components/schemas/UserContact'
+ context:
+ type: object
+ description: Custom key/value metadata
+ additionalProperties: true
+ isCommentResolverUsed:
+ type: boolean
+ description: Use for self-hosting comments data
+ example: false
+ isCommentTextAvailable:
+ type: boolean
+ description: Use for self-hosting comments data
+ example: true
+ triggerNotification:
+ type: boolean
+ description: When enabled, triggers in-app notifications, email notifications, and webhooks
+ default: false
+ createdAt:
+ type: integer
+ format: int64
+ description: Creation timestamp in milliseconds
+ lastUpdated:
+ type: integer
+ format: int64
+ description: Last update timestamp in milliseconds
+ taggedUserContacts:
+ type: array
+ items:
+ type: object
+ properties:
+ userId:
+ type: string
+ contact:
+ $ref: '#/components/schemas/UserContact'
+
+ UserContact:
+ type: object
+ required:
+ - userId
+ properties:
+ userId:
+ type: string
+ description: User ID
+ example: yourUserId
+ name:
+ type: string
+ description: User name
+ example: User Name
+ email:
+ type: string
+ format: email
+ description: User email
+ example: user@email.com
+
+ Notification:
+ type: object
+ properties:
+ notificationId:
+ type: string
+ description: Custom notification ID
+ displayHeadlineMessageTemplate:
+ type: string
+ description: Template for headline message with variables in curly brackets
+ displayHeadlineMessageTemplateData:
+ type: object
+ description: Data to replace template variables
+ additionalProperties: true
+ displayBodyMessage:
+ type: string
+ description: Body message (secondary message)
+ actionUser:
+ $ref: '#/components/schemas/UserContact'
+ notifyUsers:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserContact'
+ notifyAll:
+ type: boolean
+ description: If true, notification will be sent to all users in the organization
+ default: true
+ verifyUserPermissions:
+ type: boolean
+ description: When enabled, notifications are only created for users with document access
+ default: false
+ notificationSourceData:
+ type: object
+ description: Custom object stored with the notification
+ additionalProperties: true
+
+ NotificationConfig:
+ type: object
+ properties:
+ inbox:
+ type: string
+ enum: [ALL, MENTIONS_ONLY, NONE]
+ description: Inbox notification settings
+ example: ALL
+ email:
+ type: string
+ enum: [ALL, MENTIONS_ONLY, NONE]
+ description: Email notification settings
+ example: ALL
+ slack:
+ type: string
+ enum: [ALL, MENTIONS_ONLY, NONE]
+ description: Slack notification settings
+ example: MENTIONS_ONLY
+
+ LiveStateData:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - liveStateDataId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ liveStateDataId:
+ type: string
+ description: Unique identifier for the live state data
+ data:
+ type: object
+ description: Any valid serializable JSON object
+ additionalProperties: true
+ merge:
+ type: boolean
+ description: If true, merges new data with existing data instead of replacing
+ default: false
+
+ UserGroup:
+ type: object
+ required:
+ - groupId
+ - groupName
+ properties:
+ groupId:
+ type: string
+ description: Unique identifier for the group
+ example: engineering
+ groupName:
+ type: string
+ description: Display name of the group
+ example: Engineering
paths:
/organizations/add:
@@ -260,11 +533,14 @@ paths:
type: array
items:
$ref: '#/components/schemas/Organization'
- example:
- data:
- organizations:
- - organizationId: yourOrganizationId
- organizationName: Your Organization Name
+ examples:
+ addOrganization:
+ summary: Add a new organization
+ value:
+ data:
+ organizations:
+ - organizationId: "org-24-06-2024-1"
+ organizationName: "Test Organization"
responses:
'200':
description: Organizations added successfully
@@ -406,11 +682,14 @@ paths:
type: array
items:
$ref: '#/components/schemas/Organization'
- example:
- data:
- organizations:
- - organizationId: yourOrganizationId
- organizationName: Your Updated Organization Name
+ examples:
+ updateOrganization:
+ summary: Update an existing organization
+ value:
+ data:
+ organizations:
+ - organizationId: "org-24-06-2024-1"
+ organizationName: "Updated Organization Name"
responses:
'200':
description: Organizations updated successfully
@@ -499,15 +778,24 @@ paths:
items:
type: string
description: Array of Organization IDs
- example: [yourOrganizationId1, yourOrganizationId2]
disabled:
type: boolean
description: Whether to disable read and write access
- example: true
- example:
- data:
- organizationIds: [yourOrganizationId1, yourOrganizationId2]
- disabled: true
+ examples:
+ disableOrganizations:
+ summary: Disable access to organizations
+ value:
+ data:
+ organizationIds:
+ - "org-24-06-2024-1"
+ disabled: true
+ enableOrganizations:
+ summary: Enable access to organizations
+ value:
+ data:
+ organizationIds:
+ - "org-24-06-2024-1"
+ disabled: false
responses:
'200':
description: Disabled state updated successfully
@@ -1002,7 +1290,10 @@ paths:
/organizations/documents/delete:
post:
summary: Delete Documents
- description: Use this API to delete specific documents from an organization.
+ description: |
+ Use this API to delete specific documents from an organization.
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/delete-documents
operationId: deleteDocuments
tags:
- Documents
@@ -1029,6 +1320,10 @@ paths:
items:
type: string
description: Array of Document IDs to delete
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId1, yourDocumentId2]
responses:
'200':
description: Documents deleted successfully
@@ -1043,18 +1338,20 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /organizations/folders/add:
+ /organizations/documents/move:
post:
- summary: Add Folder
+ summary: Move Documents
description: |
- Use this API to create a new folder in an organization.
+ Use this API to move documents to a different folder within an organization.
- **Requirements:**
- - Enable advanced queries option in the Velt Console
- - Deploy v4 series of the Velt SDK
- operationId: addFolder
+ **Key Points:**
+ - Can move up to 30 documents at a time
+ - Documents are moved to the specified folder ID
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/move-documents
+ operationId: moveDocuments
tags:
- - Folders
+ - Documents
requestBody:
required: true
content:
@@ -1068,21 +1365,29 @@ paths:
type: object
required:
- organizationId
- - folders
+ - documentIds
+ - folderId
properties:
organizationId:
type: string
description: Organization ID
- createOrganization:
- type: boolean
- description: If true, creates organization if it doesn't exist
- folders:
+ documentIds:
type: array
items:
- $ref: '#/components/schemas/Folder'
+ type: string
+ maxItems: 30
+ description: Array of Document IDs (max 30)
+ folderId:
+ type: string
+ description: Target folder ID
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId1, yourDocumentId2]
+ folderId: targetFolderId
responses:
'200':
- description: Folder created successfully
+ description: Documents moved successfully
content:
application/json:
schema:
@@ -1094,18 +1399,20 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /organizations/folders/get:
+ /organizations/documents/access/update:
post:
- summary: Get Folders
+ summary: Update Access for Documents
description: |
- Use this API to retrieve the given folder's metadata and its subfolders.
+ Use this API to update the access type for a single or multiple documents at once.
- **Requirements:**
- - Enable advanced queries option in the Velt Console
- - Deploy v4 series of the Velt SDK
- operationId: getFolders
+ **Key Points:**
+ - Access types: `organizationPrivate`, `restricted`, `public`
+ - You can update the default access type for all documents in the Velt Console
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/update-document-access
+ operationId: updateDocumentAccess
tags:
- - Folders
+ - Documents
requestBody:
required: true
content:
@@ -1119,39 +1426,33 @@ paths:
type: object
required:
- organizationId
+ - documentIds
+ - accessType
properties:
organizationId:
type: string
description: Organization ID
- folderId:
+ documentIds:
+ type: array
+ items:
+ type: string
+ description: Array of Document IDs
+ accessType:
type: string
- description: Folder ID (optional). If not provided, returns all folders.
+ enum: [organizationPrivate, restricted, public]
+ description: Access type for the documents
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId1, yourDocumentId2]
+ accessType: organizationPrivate
responses:
'200':
- description: Folders retrieved successfully
+ description: Document access updated successfully
content:
application/json:
schema:
- type: object
- properties:
- result:
- type: object
- properties:
- status:
- type: string
- message:
- type: string
- data:
- type: array
- items:
- allOf:
- - $ref: '#/components/schemas/Folder'
- - type: object
- properties:
- subFolders:
- type: array
- items:
- $ref: '#/components/schemas/Folder'
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
content:
@@ -1159,20 +1460,19 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /auth/generate_token:
+ /organizations/documents/access/disablestate/update:
post:
- summary: Generate Token
+ summary: Update Disabled State for Documents
description: |
- Use this API to generate authentication JWT token for users to access Velt features. The token contains user information and permissions for specific resources.
+ Use this API to enable or disable both read and write access for all users.
- - JWT token expires in 48 hours
- - Can specify permissions for different resource types (organization, folder, document)
+ **Use Case:**
+ - When a customer's trial or subscription has ended and you want to disable their access to the Velt data, you could use this to disable access to specific documents.
- **Access Control:**
- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource.
- operationId: generateToken
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/update-document-disable-state
+ operationId: updateDocumentDisabledState
tags:
- - Auth
+ - Documents
requestBody:
required: true
content:
@@ -1180,64 +1480,1570 @@ paths:
schema:
type: object
required:
- - userId
- - userProperties
- - permissions
+ - data
properties:
- userId:
- type: string
- description: Unique identifier for the user
- example: user123
- userProperties:
+ data:
type: object
required:
- - name
- - email
+ - organizationId
+ - documentIds
+ - disabled
properties:
- isAdmin:
- type: boolean
- description: Whether the user has admin privileges
- default: false
- name:
- type: string
- description: Display name of the user
- example: John Doe
- email:
+ organizationId:
type: string
- format: email
- description: Email address of the user
- example: john@example.com
- permissions:
- type: object
- required:
- - resources
- properties:
- resources:
+ description: Organization ID
+ documentIds:
type: array
items:
- $ref: '#/components/schemas/Resource'
- examples:
- orgAndDoc:
+ type: string
+ description: Array of Document IDs
+ disabled:
+ type: boolean
+ description: Whether to disable read and write access
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId]
+ disabled: true
+ responses:
+ '200':
+ description: Document disabled state updated successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/folders/add:
+ post:
+ summary: Add Folder
+ description: |
+ Use this API to create a new folder in an organization.
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+ operationId: addFolder
+ tags:
+ - Folders
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - folders
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ createOrganization:
+ type: boolean
+ description: If true, creates organization if it doesn't exist
+ folders:
+ type: array
+ items:
+ $ref: '#/components/schemas/Folder'
+ responses:
+ '200':
+ description: Folder created successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/folders/get:
+ post:
+ summary: Get Folders
+ description: |
+ Use this API to retrieve the given folder's metadata and its subfolders. You can retrieve nested subfolders at any depth level using the `maxDepth` parameter. The response includes an `ancestors` array showing the parent hierarchy and an `inheritAccessFromParent` field indicating whether access is inherited.
+
+ **Optional Parameters:**
+ - `folderId`: Folder ID to retrieve a specific folder and its subfolders. If not provided, all folders in the organization will be retrieved.
+ - `maxDepth`: Maximum depth level for retrieving nested subfolders. If not provided, only immediate subfolders are retrieved.
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/get-folders
+ operationId: getFolders
+ tags:
+ - Folders
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ folderId:
+ type: string
+ description: Folder ID (optional). If not provided, returns all folders.
+ maxDepth:
+ type: integer
+ description: Maximum depth level for retrieving nested subfolders
+ responses:
+ '200':
+ description: Folders retrieved successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ result:
+ type: object
+ properties:
+ status:
+ type: string
+ message:
+ type: string
+ data:
+ type: array
+ items:
+ allOf:
+ - $ref: '#/components/schemas/Folder'
+ - type: object
+ properties:
+ subFolders:
+ type: array
+ items:
+ $ref: '#/components/schemas/Folder'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/folders/update:
+ post:
+ summary: Update Folder
+ description: |
+ Use this API to:
+ 1. Update metadata of a folder within an organization.
+ 2. Move a folder and its contents to a different parent folder.
+
+ **Key Points:**
+ - When moving a folder to a different parent by updating the `parentFolderId`, the API automatically updates the folder's `ancestors` array and `accessType`, and propagates these changes to all subfolders within the moved folder.
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/update-folder
+ operationId: updateFolder
+ tags:
+ - Folders
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - folders
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ folders:
+ type: array
+ items:
+ type: object
+ required:
+ - folderId
+ properties:
+ folderId:
+ type: string
+ description: Unique identifier for the folder
+ folderName:
+ type: string
+ description: Name of the folder
+ parentFolderId:
+ type: string
+ description: ID of the parent folder
+ example:
+ data:
+ organizationId: yourOrganizationId
+ folders:
+ - folderId: yourFolderId
+ folderName: yourFolderName
+ parentFolderId: yourParentFolderId
+ responses:
+ '200':
+ description: Folder updated successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/folders/delete:
+ post:
+ summary: Delete Folder
+ description: |
+ Delete a folder and all its contents (documents and subfolders).
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/delete-folder
+ operationId: deleteFolder
+ tags:
+ - Folders
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - folderId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ folderId:
+ type: string
+ description: Folder ID
+ example:
+ data:
+ organizationId: yourOrganizationId
+ folderId: yourFolderId
+ responses:
+ '200':
+ description: Folder deleted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/folders/access/update:
+ post:
+ summary: Update Access for Folders
+ description: |
+ Use this API to update the access type for a single or multiple folders at once.
+
+ **Key Points:**
+ - Access types: `organizationPrivate`, `restricted`, `public`
+ - Use `inheritFromParent` to configure the folder to inherit access permissions from its parent folder
+ - You can update the default access type for all folders in the Velt Console
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/update-folder-access
+ operationId: updateFolderAccess
+ tags:
+ - Folders
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - folderIds
+ - accessType
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ folderIds:
+ type: array
+ items:
+ type: string
+ description: Array of Folder IDs
+ accessType:
+ type: string
+ enum: [organizationPrivate, restricted, public]
+ description: Access type for the folders
+ inheritFromParent:
+ type: boolean
+ description: Configure folder to inherit access permissions from parent
+ example:
+ data:
+ organizationId: yourOrganizationId
+ folderIds: [yourFolderId1, yourFolderId2]
+ accessType: organizationPrivate
+ inheritFromParent: true
+ responses:
+ '200':
+ description: Folder access updated successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /auth/generate_token:
+ post:
+ summary: Generate Token
+ description: |
+ Use this API to generate authentication JWT token for users to access Velt features. The token contains user information and permissions for specific resources.
+
+ - JWT token expires in 48 hours
+ - Can specify permissions for different resource types (organization, folder, document)
+
+ **Access Control:**
+ Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource.
+ operationId: generateToken
+ tags:
+ - Auth
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - userId
+ - userProperties
+ - permissions
+ properties:
+ userId:
+ type: string
+ description: Unique identifier for the user
+ example: user123
+ userProperties:
+ type: object
+ required:
+ - name
+ - email
+ properties:
+ isAdmin:
+ type: boolean
+ description: Whether the user has admin privileges
+ default: false
+ name:
+ type: string
+ description: Display name of the user
+ example: John Doe
+ email:
+ type: string
+ format: email
+ description: Email address of the user
+ example: john@example.com
+ permissions:
+ type: object
+ required:
+ - resources
+ properties:
+ resources:
+ type: array
+ items:
+ $ref: '#/components/schemas/Resource'
+ examples:
+ orgAndDoc:
summary: Organization viewer and document editor
value:
- userId: user123
- userProperties:
- isAdmin: false
- name: John Doe
- email: john@example.com
- permissions:
- resources:
- - type: organization
- id: org_123
+ userId: user123
+ userProperties:
+ isAdmin: false
+ name: John Doe
+ email: john@example.com
+ permissions:
+ resources:
+ - type: organization
+ id: org_123
+ accessRole: viewer
+ - type: document
+ id: doc_456
+ organizationId: org_123
+ accessRole: editor
+ expiresAt: 1640995200
+ responses:
+ '200':
+ description: Token generated successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ result:
+ type: object
+ properties:
+ status:
+ type: string
+ message:
+ type: string
+ data:
+ type: object
+ properties:
+ token:
+ type: string
+ description: JWT token
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /auth/permissions/add:
+ post:
+ summary: Add Permissions
+ description: |
+ Use this API to add permissions to a user for various resources like organizations, folders, documents, etc.
+
+ - Can add permissions for multiple resources in a single API call
+ - The `expiresAt` field is optional
+
+ **Access Control:**
+ Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource.
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/add-permissions
+ operationId: addPermissions
+ tags:
+ - Auth
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - user
+ - permissions
+ properties:
+ user:
+ type: object
+ required:
+ - userId
+ properties:
+ userId:
+ type: string
+ description: The ID of the user to add permissions to
+ permissions:
+ type: object
+ required:
+ - resources
+ properties:
+ resources:
+ type: array
+ items:
+ $ref: '#/components/schemas/Resource'
+ example:
+ data:
+ user:
+ userId: some-user-id
+ permissions:
+ resources:
+ - type: organization
+ id: YOUR_ORGANIZATION_ID
+ accessRole: editor
+ responses:
+ '200':
+ description: Permissions added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /auth/generate_signature:
+ post:
+ summary: Generate Signature
+ description: |
+ Use this API to generate a secure signature for Permission Provider responses. The signature validates the integrity of permission decisions returned from your authorization service.
+
+ **Security Critical:**
+ This endpoint must be called from your backend server, never from client-side code. The signature ensures that permission responses haven't been tampered with.
+
+ **Use Case:**
+ This API is used in conjunction with the Permission Provider configuration mode. When your `onResourceAccessRequired` function is called, use this endpoint to generate a secure signature for your permission response.
+
+ **Key Points:**
+ - Each permission object must include userId, resourceId, type, and hasAccess
+ - For document resources, can specify `accessRole`: `viewer` or `editor`
+ - Optional `expiresAt` timestamp (in milliseconds) for time-limited permissions
+ - Resource types: `document`, `folder`, or `organization`
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/generate-signature
+ operationId: generateSignature
+ tags:
+ - Auth
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - permissions
+ properties:
+ permissions:
+ type: array
+ items:
+ $ref: '#/components/schemas/PermissionData'
+ examples:
+ documentViewer:
+ summary: Document access with viewer role and expiration
+ value:
+ data:
+ permissions:
+ - userId: user123
+ resourceId: document456
+ type: document
+ hasAccess: true
accessRole: viewer
- - type: document
- id: doc_456
- organizationId: org_123
- accessRole: editor
- expiresAt: 1640995200
+ expiresAt: 1759745729823
+ multipleResources:
+ summary: Multiple resources (organization and folder)
+ value:
+ data:
+ permissions:
+ - userId: user123
+ resourceId: org789
+ type: organization
+ hasAccess: true
+ - userId: user123
+ resourceId: folder101
+ type: folder
+ hasAccess: true
+ denyAccess:
+ summary: Denying access
+ value:
+ data:
+ permissions:
+ - userId: user456
+ resourceId: document789
+ type: document
+ hasAccess: false
+ responses:
+ '200':
+ description: Signature generated successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ result:
+ type: object
+ properties:
+ status:
+ type: string
+ example: success
+ message:
+ type: string
+ example: Signature generated successfully.
+ data:
+ type: object
+ properties:
+ signature:
+ type: string
+ example: a1b2c3d4e5f67890abcdef1234567890
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /auth/permissions/get:
+ post:
+ summary: Get Permissions
+ description: |
+ Use this API to retrieve permissions for specific users within an organization.
+
+ **Key Points:**
+ - Get permissions for specific documents or folders
+ - Filter by user IDs
+ - Returns access roles and resource permissions
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/get-permissions
+ operationId: getPermissions
+ tags:
+ - Auth
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentIds:
+ type: array
+ items:
+ type: string
+ description: Array of Document IDs
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId]
+ userIds: [yourUserId]
+ responses:
+ '200':
+ description: Permissions retrieved successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /auth/permissions/remove:
+ post:
+ summary: Remove Permissions
+ description: |
+ Use this API to remove permissions from a user for specific resources.
+
+ **Key Points:**
+ - Revoke user access to organizations, folders, or documents
+ - Can remove multiple resource permissions in a single API call
+ - User will lose access to the specified resources
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/remove-permissions
+ operationId: removePermissions
+ tags:
+ - Auth
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - userId
+ - permissions
+ properties:
+ userId:
+ type: string
+ description: User ID
+ permissions:
+ type: object
+ required:
+ - resources
+ properties:
+ resources:
+ type: array
+ items:
+ type: object
+ required:
+ - type
+ - id
+ properties:
+ type:
+ type: string
+ enum: [organization, document, folder]
+ description: Resource type
+ id:
+ type: string
+ description: Resource ID
+ organizationId:
+ type: string
+ description: Organization ID (required for document/folder)
+ example:
+ data:
+ userId: USER_ID
+ permissions:
+ resources:
+ - type: organization
+ id: ORGANIZATION_ID
+ - type: document
+ id: DOCUMENT_ID
+ organizationId: ORGANIZATION_ID
+ responses:
+ '200':
+ description: Permissions removed successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/add:
+ post:
+ summary: Add Notifications
+ description: |
+ Use this API to add notifications.
+
+ **Key Points:**
+ - Send custom notifications to users via inbox, email, and other channels
+ - Support for template variables in headline messages
+ - Can notify specific users or all users in organization
+
+ **Optional Parameters:**
+ - `verifyUserPermissions`: When enabled, notifications are only created for users who have access to the specified document (default: false)
+ - `notificationId`: Custom notification ID to prevent duplicate notifications. Only special characters `_`, `-` are allowed
+ - `notifyAll`: If set to true, notification will be sent to all users in the organization (default: true)
+ - `notificationSourceData`: Any custom object to be stored with the notification. When the user clicks on the notification, this data will be sent in the callback
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/add-notifications
+ operationId: addNotifications
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - actionUser
+ - displayHeadlineMessageTemplate
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ actionUser:
+ $ref: '#/components/schemas/UserContact'
+ verifyUserPermissions:
+ type: boolean
+ default: false
+ description: When enabled, notifications are only created for users with document access
+ notificationId:
+ type: string
+ description: Custom notification ID
+ displayHeadlineMessageTemplate:
+ type: string
+ description: Template for headline message with variables in curly brackets
+ displayHeadlineMessageTemplateData:
+ type: object
+ description: Data to replace template variables
+ additionalProperties: true
+ displayBodyMessage:
+ type: string
+ description: Body message (secondary message)
+ notifyUsers:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserContact'
+ description: Array of users to notify
+ notifyAll:
+ type: boolean
+ default: true
+ description: If true, notification will be sent to all users
+ notificationSourceData:
+ type: object
+ description: Custom object stored with the notification
+ additionalProperties: true
+ responses:
+ '200':
+ description: Notifications added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/get:
+ post:
+ summary: Get Notifications
+ description: |
+ Use this API to retrieve notifications for a specific document within an organization.
+
+ **Key Points:**
+ - Supports pagination with `pageSize` and `pageToken`
+ - Returns all notifications for the specified document
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/get-notifications-v2
+ operationId: getNotifications
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID (either this or userId)
+ locationId:
+ type: string
+ description: Location ID
+ userId:
+ type: string
+ description: User ID (either this or documentId)
+ notificationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Notification IDs (max 30)
+ pageSize:
+ type: integer
+ default: 1000
+ description: Number of items per page
+ pageToken:
+ type: string
+ description: Page token from previous API call
+ order:
+ type: string
+ enum: [asc, desc]
+ default: desc
+ description: Order of notifications based on timestamp
+ responses:
+ '200':
+ description: Notifications retrieved successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ result:
+ type: object
+ properties:
+ status:
+ type: string
+ message:
+ type: string
+ data:
+ type: array
+ items:
+ type: object
+ pageToken:
+ type: string
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/update:
+ post:
+ summary: Update Notifications
+ description: |
+ Use this API to update existing notifications.
+
+ **Key Points:**
+ - Can update notification content and metadata
+ - Specify which notifications to update using the notifications array with IDs
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/update-notifications
+ operationId: updateNotifications
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - notifications
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ locationId:
+ type: string
+ description: Location ID (optional)
+ userId:
+ type: string
+ description: User ID (optional)
+ notifications:
+ type: array
+ items:
+ type: object
+ required:
+ - id
+ properties:
+ id:
+ type: string
+ description: Notification ID
+ displayBodyMessage:
+ type: string
+ description: Updated body message
+ responses:
+ '200':
+ description: Notifications updated successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/delete:
+ post:
+ summary: Delete Notifications
+ description: |
+ Use this API to delete specific notifications.
+
+ **Key Points:**
+ - Permanently remove notifications from the system
+ - Specify which notifications to delete using notification IDs
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/delete-notifications
+ operationId: deleteNotifications
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - notifications
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ userId:
+ type: string
+ description: User ID (optional)
+ notifications:
+ type: array
+ items:
+ type: object
+ required:
+ - id
+ properties:
+ id:
+ type: string
+ description: Notification ID
+ responses:
+ '200':
+ description: Notifications deleted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/config/set:
+ post:
+ summary: Set Config
+ description: |
+ Use this API to configure notification channels for specific users and documents.
+
+ **Key Points:**
+ - Set notification preferences for inbox, email, and Slack channels
+ - Options: `ALL`, `MENTIONS_ONLY`, or `NONE`
+ - Can configure per user and per document
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/set-config
+ operationId: setNotificationConfig
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - config
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentIds:
+ type: array
+ items:
+ type: string
+ description: Array of Document IDs (optional)
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs (optional)
+ config:
+ $ref: '#/components/schemas/NotificationConfig'
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId]
+ userIds: [yourUserId]
+ config:
+ inbox: ALL
+ email: ALL
+ slack: MENTIONS_ONLY
+ responses:
+ '200':
+ description: Configuration set successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /notifications/config/get:
+ post:
+ summary: Get Config
+ description: |
+ Use this API to retrieve notification configuration settings for specific users and documents.
+
+ **Key Points:**
+ - Get current notification preferences for a user
+ - Returns settings for inbox, email, and other notification channels
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/get-config
+ operationId: getNotificationConfig
+ tags:
+ - Notifications
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - userId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentIds:
+ type: array
+ items:
+ type: string
+ description: Array of Document IDs (optional)
+ userId:
+ type: string
+ description: User ID
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentIds: [yourDocumentId]
+ userId: yourUserId
+ responses:
+ '200':
+ description: Configuration retrieved successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/usergroups/add:
+ post:
+ summary: Add User Groups
+ description: |
+ Use this API to add organization user groups to a specific organization.
+
+ **Optional Parameters:**
+ - `createOrganization`: If set to true, a new organization will be created (if it doesn't exist) before the group(s) are created
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/add-groups
+ operationId: addUserGroups
+ tags:
+ - User Groups
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - organizationUserGroups
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ createOrganization:
+ type: boolean
+ description: If true, creates organization if it doesn't exist
+ organizationUserGroups:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserGroup'
+ example:
+ data:
+ organizationId: yourOrganizationId
+ organizationUserGroups:
+ - groupId: engineering
+ groupName: Engineering
+ responses:
+ '200':
+ description: User groups added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/usergroups/users/add:
+ post:
+ summary: Add Users to Groups
+ description: |
+ Use this API to add users to a specific organization user group.
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/add-users-to-group
+ operationId: addUsersToGroups
+ tags:
+ - User Groups
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - organizationUserGroupId
+ - userIds
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ organizationUserGroupId:
+ type: string
+ description: Organization User Group ID
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs
+ example:
+ data:
+ organizationId: yourOrganizationId
+ organizationUserGroupId: yourGroupId
+ userIds: [yourUserId1]
+ responses:
+ '200':
+ description: Users added to group successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /organizations/usergroups/users/delete:
+ post:
+ summary: Delete Users from Groups
+ description: |
+ Use this API to delete users from a specific organization user group.
+
+ **Optional Parameters:**
+ - `deleteAll`: If true, all users in the group will be deleted
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/delete-users-from-group
+ operationId: deleteUsersFromGroups
+ tags:
+ - User Groups
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - organizationUserGroupId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ organizationUserGroupId:
+ type: string
+ description: Organization User Group ID
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs (optional if deleteAll is true)
+ deleteAll:
+ type: boolean
+ description: If true, all users in the group will be deleted
+ example:
+ data:
+ organizationId: yourOrganizationId
+ organizationUserGroupId: yourGroupId
+ userIds: [yourUserId1]
+ responses:
+ '200':
+ description: Users deleted from group successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /commentannotations/add:
+ post:
+ summary: Add Comment Annotations
+ description: |
+ Use this API to add comment annotations to a document within an organization.
+ - You can add comments on an element, text or page.
+ - You can provide HTML or text content.
+ - Additional filters can be applied using location IDs.
+
+ **Optional Parameters for commentAnnotations:**
+ - `annotationId`: Custom Annotation ID. If not provided, Velt will generate a unique ID
+
+ **Optional Parameters for commentData:**
+ - `commentId`: Custom Comment ID. If not provided, Velt will generate a unique ID
+ - `context`: Custom key/value metadata object for storing additional information
+ - `isCommentResolverUsed`: Use for self-hosting comments data
+ - `isCommentTextAvailable`: Use for self-hosting comments data
+ - `triggerNotification`: When enabled, triggers in-app notifications, email notifications, and webhooks (default: false)
+ - `createdAt`: Created At timestamp (in milliseconds since epoch)
+ - `lastUpdated`: Last Updated timestamp (in milliseconds since epoch)
+ - `taggedUserContacts`: Array of tagged user contacts for replacing {{userId}} in commentText
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations
+ operationId: addCommentAnnotations
+ tags:
+ - Comments
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - commentAnnotations
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ commentAnnotations:
+ type: array
+ items:
+ $ref: '#/components/schemas/CommentAnnotation'
+ responses:
+ '200':
+ description: Comment annotations added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /commentannotations/get:
+ post:
+ summary: Get Comment Annotations
+ description: |
+ Use this API to retrieve comment annotations from a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.
+
+ **Filtering Options:**
+ - `documentId`: Single document ID
+ - `documentIds`: Array of Document IDs (Limit: Only 30 IDs at a time)
+ - `groupByDocumentId`: Data will be grouped by document ID
+ - `folderId`: Folder ID to filter annotations by the folder
+ - `locationIds`: Array of Location IDs (Limit: Only 30 IDs at a time)
+ - `annotationIds`: Array of Annotation IDs (Limit: Only 30 IDs at a time)
+ - `userIds`: Array of User IDs (Limit: Only 30 IDs at a time)
+ - `statusIds`: Status IDs of the annotations to filter on
+ - `updatedAfter`/`updatedBefore`: Filter by lastUpdated timestamp (milliseconds)
+ - `createdAfter`/`createdBefore`: Filter by createdAt timestamp (milliseconds)
+ - Supports pagination with `pageSize` and `pageToken`
+
+ **Requirements:**
+ - Enable advanced queries option in the Velt Console
+ - Deploy v4 series of the Velt SDK
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-annotations-v2
+ operationId: getCommentAnnotations
+ tags:
+ - Comments
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID (optional)
+ documentIds:
+ type: array
+ items:
+ type: string
+ maxItems: 30
+ description: Array of Document IDs (max 30)
+ groupByDocumentId:
+ type: boolean
+ description: Group results by document ID
+ folderId:
+ type: string
+ description: Folder ID
+ locationIds:
+ type: array
+ items:
+ type: string
+ maxItems: 30
+ description: Array of Location IDs (max 30)
+ annotationIds:
+ type: array
+ items:
+ type: string
+ maxItems: 30
+ description: Array of Annotation IDs (max 30)
+ userIds:
+ type: array
+ items:
+ type: string
+ maxItems: 30
+ description: Array of User IDs (max 30)
+ statusIds:
+ type: array
+ items:
+ type: string
+ description: Status IDs to filter on
+ updatedAfter:
+ type: integer
+ format: int64
+ description: Filter by lastUpdated after timestamp (milliseconds)
+ updatedBefore:
+ type: integer
+ format: int64
+ description: Filter by lastUpdated before timestamp (milliseconds)
+ createdAfter:
+ type: integer
+ format: int64
+ description: Filter by createdAt after timestamp (milliseconds)
+ createdBefore:
+ type: integer
+ format: int64
+ description: Filter by createdAt before timestamp (milliseconds)
+ pageSize:
+ type: integer
+ default: 1000
+ description: Number of items per page
+ pageToken:
+ type: string
+ description: Page token from previous API call
responses:
'200':
- description: Token generated successfully
+ description: Comment annotations retrieved successfully
content:
application/json:
schema:
@@ -1251,11 +3057,17 @@ paths:
message:
type: string
data:
- type: object
- properties:
- token:
- type: string
- description: JWT token
+ oneOf:
+ - type: array
+ items:
+ $ref: '#/components/schemas/CommentAnnotation'
+ - type: object
+ additionalProperties:
+ type: array
+ items:
+ $ref: '#/components/schemas/CommentAnnotation'
+ nextPageToken:
+ type: string
'400':
description: Invalid request
content:
@@ -1263,20 +3075,20 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /auth/permissions/add:
+ /commentannotations/update:
post:
- summary: Add Permissions
+ summary: Update Comment Annotations
description: |
- Use this API to add permissions to a user for various resources like organizations, folders, documents, etc.
+ Use this API to update comment annotations in a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.
- - Can add permissions for multiple resources in a single API call
- - The `expiresAt` field is optional
+ **Key Points:**
+ - Can update annotation metadata such as status, location, targetElement, priority, assignee, and more
+ - Supports filtering by locationIds, annotationIds, and userIds
- **Access Control:**
- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource.
- operationId: addPermissions
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/update-comment-annotations
+ operationId: updateCommentAnnotations
tags:
- - Auth
+ - Comments
requestBody:
required: true
content:
@@ -1289,29 +3101,44 @@ paths:
data:
type: object
required:
- - user
- - permissions
+ - organizationId
+ - documentId
+ - updatedData
properties:
- user:
- type: object
- required:
- - userId
- properties:
- userId:
- type: string
- description: The ID of the user to add permissions to
- permissions:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ locationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Location IDs (optional)
+ annotationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Annotation IDs (optional)
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs (optional)
+ updatedData:
type: object
- required:
- - resources
+ description: Data to update
properties:
- resources:
- type: array
- items:
- $ref: '#/components/schemas/Resource'
+ status:
+ type: object
+ properties:
+ type:
+ type: string
+ enum: [default, ongoing]
responses:
'200':
- description: Permissions added successfully
+ description: Comment annotations updated successfully
content:
application/json:
schema:
@@ -1323,18 +3150,151 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /notifications/get:
+ /commentannotations/delete:
post:
- summary: Get Notifications
+ summary: Delete Comment Annotations
+ description: |
+ Use this API to delete comment annotations from a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.
+
+ **Filtering Options:**
+ - `locationIds`: Array of Location IDs
+ - `annotationIds`: Array of Annotation IDs
+ - `userIds`: Array of User IDs
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/delete-comment-annotations
+ operationId: deleteCommentAnnotations
+ tags:
+ - Comments
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ locationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Location IDs (optional)
+ annotationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Annotation IDs (optional)
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs (optional)
+ responses:
+ '200':
+ description: Comment annotations deleted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /commentannotations/count/get:
+ post:
+ summary: Get Comment Annotations Count
description: |
- Use this API to retrieve notifications.
+ Use this API to retrieve the count of comment annotations for specified documents, including both total and unread counts.
+
+ **Key Points:**
+ - Limit: Only 30 document IDs can be passed at a time
+ - Can filter by status IDs
+ - Returns total and unread counts per document
**Requirements:**
- Enable advanced queries option in the Velt Console
- Deploy v4 series of the Velt SDK
- operationId: getNotifications
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/get-comment-count-v2
+ operationId: getCommentAnnotationsCount
tags:
- - Notifications
+ - Comments
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentIds
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentIds:
+ type: array
+ items:
+ type: string
+ maxItems: 30
+ description: Array of Document IDs (max 30)
+ userId:
+ type: string
+ description: User ID (optional)
+ statusIds:
+ type: array
+ items:
+ type: string
+ description: Status IDs to filter on (optional)
+ responses:
+ '200':
+ description: Comment annotations count retrieved successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /commentannotations/comments/add:
+ post:
+ summary: Add Comments
+ description: |
+ Use this API to add new comments to an existing comment annotation.
+
+ **Key Points:**
+ - Add one or multiple comments to an annotation thread
+ - Supports both text and HTML content
+ - Can include user mentions, metadata, and trigger notifications
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/add-comments
+ operationId: addComments
+ tags:
+ - Comments
requestBody:
required: true
content:
@@ -1348,39 +3308,105 @@ paths:
type: object
required:
- organizationId
+ - documentId
+ - annotationId
+ - commentData
properties:
organizationId:
type: string
description: Organization ID
documentId:
type: string
- description: Document ID (either this or userId)
- locationId:
+ description: Document ID
+ annotationId:
type: string
- description: Location ID
- userId:
+ description: Annotation ID
+ createOrganization:
+ type: object
+ description: Organization creation settings
+ properties:
+ organizationName:
+ type: string
+ organizationType:
+ type: string
+ createDocument:
+ type: object
+ description: Document creation settings
+ properties:
+ documentName:
+ type: string
+ documentType:
+ type: string
+ commentData:
+ type: array
+ items:
+ $ref: '#/components/schemas/Comment'
+ responses:
+ '200':
+ description: Comments added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /commentannotations/comments/get:
+ post:
+ summary: Get Comments
+ description: |
+ Use this API to retrieve comments from a specific comment annotation.
+
+ **Filtering Options:**
+ - `userIds`: Array of User IDs (optional)
+ - `commentIds`: Array of Comment IDs (optional)
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/get-comments
+ operationId: getComments
+ tags:
+ - Comments
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - annotationId
+ properties:
+ organizationId:
type: string
- description: User ID (either this or documentId)
- notificationIds:
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ annotationId:
+ type: string
+ description: Annotation ID
+ userIds:
type: array
items:
type: string
- description: Array of Notification IDs (max 30)
- pageSize:
- type: integer
- default: 1000
- description: Number of items per page
- pageToken:
- type: string
- description: Page token from previous API call
- order:
- type: string
- enum: [asc, desc]
- default: desc
- description: Order of notifications based on timestamp
+ description: Array of User IDs (optional)
+ commentIds:
+ type: array
+ items:
+ type: integer
+ description: Array of Comment IDs (optional)
responses:
'200':
- description: Notifications retrieved successfully
+ description: Comments retrieved successfully
content:
application/json:
schema:
@@ -1396,9 +3422,7 @@ paths:
data:
type: array
items:
- type: object
- pageToken:
- type: string
+ $ref: '#/components/schemas/Comment'
'400':
description: Invalid request
content:
@@ -1406,13 +3430,20 @@ paths:
schema:
$ref: '#/components/schemas/ErrorResponse'
- /organizations/usergroups/add:
+ /commentannotations/comments/update:
post:
- summary: Add User Groups
- description: Use this API to add organization user groups to a specific organization.
- operationId: addUserGroups
+ summary: Update Comments
+ description: |
+ Use this API to update specific comments within a comment annotation.
+
+ **Key Points:**
+ - Can update commentText, commentHtml, and other comment properties
+ - Specify which comments to update using commentIds array
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/update-comments
+ operationId: updateComments
tags:
- - User Groups
+ - Comments
requestBody:
required: true
content:
@@ -1426,34 +3457,69 @@ paths:
type: object
required:
- organizationId
- - organizationUserGroups
+ - documentId
+ - annotationId
+ - commentIds
+ - updatedData
properties:
organizationId:
type: string
- organizationUserGroups:
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ annotationId:
+ type: string
+ description: Annotation ID
+ commentIds:
type: array
items:
- type: object
- properties:
- groupId:
- type: string
- groupName:
- type: string
+ type: integer
+ description: Array of Comment IDs to update
+ updatedData:
+ type: object
+ properties:
+ commentText:
+ type: string
+ description: Updated comment text
+ commentHtml:
+ type: string
+ description: Updated comment HTML
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentId: yourDocumentId
+ annotationId: yourAnnotationId
+ commentIds: [153783, 607395]
+ updatedData:
+ commentText: Sample Updated Comment
+ commentHtml: Hello Updated
responses:
'200':
- description: User groups added successfully
+ description: Comments updated successfully
content:
application/json:
schema:
- type: object
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
- /commentannotations/comments/add:
+ /commentannotations/comments/delete:
post:
- summary: Add Comments
- description: Use this API to add comments within a specific CommentAnnotation.
- operationId: addComments
+ summary: Delete Comments
+ description: |
+ Use this API to delete specific comments from a comment annotation.
+
+ **Key Points:**
+ - Specify which comments to delete using commentIds array
+ - Comments are permanently removed from the annotation thread
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/delete-comments
+ operationId: deleteComments
tags:
- Comments
requestBody:
@@ -1464,16 +3530,61 @@ paths:
type: object
required:
- data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - documentId
+ - annotationId
+ - commentIds
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ documentId:
+ type: string
+ description: Document ID
+ annotationId:
+ type: string
+ description: Annotation ID
+ commentIds:
+ type: array
+ items:
+ type: integer
+ description: Array of Comment IDs to delete
+ example:
+ data:
+ organizationId: yourOrganizationId
+ documentId: yourDocumentId
+ annotationId: yourAnnotationId
+ commentIds: [153783, 607395]
responses:
'200':
- description: Comments added successfully
+ description: Comments deleted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
/workspace/domains/add:
post:
summary: Add Domains
- description: Add domains to workspace allowed list.
+ description: |
+ Use this API to whitelist domains for your workspace.
+
+ **Key Points:**
+ - Control which domains can access your Velt workspace
+ - Supports wildcard patterns (e.g., `https://*.example.com`)
+ - Improves security by restricting access to approved domains
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/workspace/add-domain
operationId: addDomains
tags:
- Workspace
@@ -1485,16 +3596,48 @@ paths:
type: object
required:
- data
+ properties:
+ data:
+ type: object
+ required:
+ - domains
+ properties:
+ domains:
+ type: array
+ items:
+ type: string
+ description: Array of domain URLs to whitelist
+ example:
+ data:
+ domains:
+ - https://www.google.com
+ - https://*.firebase.com
responses:
'200':
description: Domains added successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
/workspace/domains/delete:
post:
summary: Delete Domains
- description: Remove domains from workspace allowed list.
+ description: |
+ Use this API to remove domains from your workspace whitelist.
+
+ **Key Points:**
+ - Remove previously whitelisted domains
+ - Access from removed domains will be blocked
+ - Can remove multiple domains in a single request
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/workspace/delete-domain
operationId: deleteDomains
tags:
- Workspace
@@ -1504,16 +3647,55 @@ paths:
application/json:
schema:
type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - domains
+ properties:
+ domains:
+ type: array
+ items:
+ type: string
+ description: Array of domain URLs to remove
+ example:
+ data:
+ domains:
+ - https://www.google.com
+ - https://*.firebase.com
responses:
'200':
description: Domains deleted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
/livestate/broadcast:
post:
summary: Broadcast Event
- description: Broadcast live state events for real-time sync.
+ description: |
+ Use this API to broadcast live state events to any document. Use it with the Live State feature.
+
+ **Key Points:**
+ - Broadcast real-time state changes and events to all connected users
+ - Can be any valid serializable JSON object
+ - `merge`: If true, merges the new data with existing data instead of replacing it (default: false)
+
+ **Use Cases:**
+ - Sync application state across users
+ - Broadcast custom events
+ - Share real-time data updates
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/livestate/broadcast-event
operationId: broadcastEvent
tags:
- Livestate
@@ -1523,16 +3705,47 @@ paths:
application/json:
schema:
type: object
+ required:
+ - data
+ properties:
+ data:
+ $ref: '#/components/schemas/LiveStateData'
+ example:
+ data:
+ organizationId: YOUR_ORGANIZATION_ID
+ documentId: YOUR_DOCUMENT_ID
+ liveStateDataId: sample_live_state_data_id
+ data:
+ status: active
+ message: Hello World
+ customField: custom value
+ merge: true
responses:
'200':
description: Event broadcasted successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
/users/data/get:
post:
summary: Get All User Data (GDPR)
- description: Get all feature data for a user (GDPR compliance).
+ description: |
+ Use this API to export all data for a specific user (GDPR compliance).
+
+ **Key Points:**
+ - Returns all user data including comments, annotations, and other collaboration data
+ - Supports pagination with `pageToken`
+ - Used for GDPR data portability requests
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/get-all-user-data-gdpr
operationId: getAllUserData
tags:
- GDPR
@@ -1542,16 +3755,58 @@ paths:
application/json:
schema:
type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - organizationId
+ - userId
+ properties:
+ organizationId:
+ type: string
+ description: Organization ID
+ userId:
+ type: string
+ description: User ID
+ pageToken:
+ type: string
+ description: Page token from previous API call (optional)
+ example:
+ data:
+ organizationId: yourOrganizationId
+ userId: yourUserId
+ pageToken: yourPageToken
responses:
'200':
description: Data fetched successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
/users/data/delete:
post:
summary: Delete All User Data (GDPR)
- description: Delete all user data (GDPR compliance - irreversible).
+ description: |
+ Use this API to permanently delete all user data (GDPR compliance).
+
+ **Warning:**
+ This will permanently delete all data associated with the specified users including comments, annotations, and other collaboration data.
+
+ **Key Points:**
+ - Can delete data for multiple users across multiple organizations
+ - Returns a jobId to track deletion status
+ - Used for GDPR right to erasure requests
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/delete-all-user-data-gdpr
operationId: deleteAllUserData
tags:
- GDPR
@@ -1561,9 +3816,104 @@ paths:
application/json:
schema:
type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - userIds
+ - organizationIds
+ properties:
+ userIds:
+ type: array
+ items:
+ type: string
+ description: Array of User IDs
+ organizationIds:
+ type: array
+ items:
+ type: string
+ description: Array of Organization IDs
+ example:
+ data:
+ userIds: [yourUserId1, yourUserId2]
+ organizationIds: [yourOrganizationId1, yourOrganizationId2]
responses:
'200':
description: Deletion initiated successfully
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ result:
+ type: object
+ properties:
+ status:
+ type: string
+ example: success
+ message:
+ type: string
+ data:
+ type: object
+ properties:
+ jobId:
+ type: string
+ description: Job ID to track deletion status
+ '400':
+ description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+
+ /users/data/delete/status:
+ post:
+ summary: Get Delete All User Data Status (GDPR)
+ description: |
+ Use this API to check the status of user data deletion jobs.
+
+ **Key Points:**
+ - Track the progress of deletion operations
+ - Returns status: pending, in-progress, completed, or failed
+ - Use the jobId returned from the delete all user data API
+
+ š Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/get-delete-user-data-status-gdpr
+ operationId: getDeleteAllUserDataStatus
+ tags:
+ - GDPR
+ requestBody:
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ required:
+ - data
+ properties:
+ data:
+ type: object
+ required:
+ - jobId
+ properties:
+ jobId:
+ type: string
+ description: Job ID from delete all user data API
+ example:
+ data:
+ jobId: yourJobId
+ responses:
+ '200':
+ description: Status retrieved successfully
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SuccessResponse'
'400':
description: Invalid request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
diff --git a/api-reference/postman-collection/Velt-REST-API-v2.postman_collection.json b/api-reference/postman-collection/Velt-REST-API-v2.postman_collection.json
index cc80872f..b792dc0a 100644
--- a/api-reference/postman-collection/Velt-REST-API-v2.postman_collection.json
+++ b/api-reference/postman-collection/Velt-REST-API-v2.postman_collection.json
@@ -92,7 +92,7 @@
"get"
]
},
- "description": "Use this API to retrieve specific organizations by organization IDs.\n\n**Key Points:**\n- Retrieve up to 30 organization IDs at a time\n- Supports pagination with pageToken\n- If no organizationIds provided, returns all organizations\n\n**Requirements:**\n- Enable advanced queries in the Velt Console\n- Deploy v4 series of the Velt SDK\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/organizations/get-organizations-v2"
+ "description": "Use this API to retrieve specific organizations by organization IDs.\n\n**Key Points:**\n- Retrieve up to 30 organization IDs at a time\n- Supports pagination with pageToken\n- If no organizationIds provided, returns all organizations\n\n**Requirements:**\n-"
},
"response": []
},
@@ -269,7 +269,7 @@
"add"
]
},
- "description": "Use this API to create a new folder in an organization.\n\n**Key Points:**\n- Folders help organize documents within an organization\n- Can create nested folders using parentFolderId\n- If organization doesn't exist, set createOrganization flag\n\n**Requirements:**\n- Enable advanced queries in the Velt Console\n- Deploy v4 series of the Velt SDK\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/add-folder"
+ "description": "Use this API to create a new folder in an organization.\n\n**Key Points:**\n- Folders help organize documents within an organization\n- Can create nested folders using parentFolderId\n- If organization doesn't exist, set createOrganization flag\n\n**Requirements:**\n-"
},
"response": []
},
@@ -293,7 +293,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\"\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"folderId\": \"yourFolderId\",\n \"maxDepth\": 3\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -312,7 +312,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/folders/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\":{\"organizationId\":\"yourOrganizationId\"}}'"
+ "description": "Use this API to retrieve the given folder's metadata and its subfolders. You can retrieve nested subfolders at any depth level using the `maxDepth` parameter. The response includes an `ancestors` array showing the parent hierarchy and an `inheritAccessFromParent` field indicating whether access is inherited.\n\n**Optional Parameters:**\n- `folderId`: Folder ID to retrieve a specific folder and its subfolders. If not provided, all folders in the organization will be retrieved.\n- `maxDepth`: Maximum depth level for retrieving nested subfolders. If not provided, only immediate subfolders are retrieved.\n\n**Requirements:**\n-"
},
"response": []
},
@@ -355,7 +355,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/folders/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\":{\"organizationId\":\"yourOrganizationId\",\"folders\":[{\"folderId\":\"yourFolderId\",\"folderName\":\"yourFolderName\",\"parentFolderId\":\"yourParentFolderId\"}]}}'"
+ "description": "Use this API to:\n1. Update metadata of a folder within an organization.\n2. Move a folder and its contents to a different parent folder.\n\n**Key Points:**\n- When moving a folder to a different parent by updating the `parentFolderId`, the API automatically updates the folder's `ancestors` array and `accessType`, and propagates these changes to all subfolders within the moved folder.\n\n**Requirements:**\n-"
},
"response": []
},
@@ -398,7 +398,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/folders/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"org10\",\n \"folderId\": \"folderId2\"\n }\n}'"
+ "description": "Delete a folder and all its contents (documents and subfolders).\n\n**Requirements:**\n-"
},
"response": []
},
@@ -422,7 +422,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"folderIds\": [\"yourFolderId1, yourFolderId2\"],\n \"accessType\": \"organizationPrivate\"\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"folderIds\": [\"yourFolderId1\", \"yourFolderId2\"],\n \"accessType\": \"organizationPrivate\",\n \"inheritFromParent\": true\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -442,7 +442,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/folders/access/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\":{\"organizationId\":\"yourOrganizationId\",\"folderIds\":[\"yourFolderId1\",\"yourFolderId2\"],\"accessType\":\"organizationPrivate\"}}'"
+ "description": "Use this API to update the access type for a single or multiple folders at once.\n\n**Key Points:**\n- Access types: `organizationPrivate`, `restricted`, `public`\n- Use `inheritFromParent` to configure the folder to inherit access permissions from its parent folder\n- You can update the default access type for all folders in the Velt Console\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/folders/update-folder-access"
},
"response": []
}
@@ -472,7 +472,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documents\": [\n {\n \"documentId\": \"yourDocumentId\",\n \"documentName\": \"Your Document Name\"\n }\n ]\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"createOrganization\": true,\n \"documents\": [\n {\n \"documentId\": \"yourDocumentId\",\n \"documentName\": \"Your Document Name\"\n }\n ],\n \"folderId\": \"yourFolderId\",\n \"createFolder\": true\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -491,7 +491,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documents\": [\n {\n \"documentId\": \"yourDocumentId\",\n \"documentName\": \"Your Document Name\"\n }\n ]\n }\n}'"
+ "description": "Use this API to add documents with metadata to an organization.\n\n**Optional Parameters:**\n- `createOrganization`: If set to true, a new organization will be created (if it doesn't exist) before the document(s) are created\n- `folderId`: Folder ID to add the documents to\n- `createFolder`: If set to true and `folderId` is provided but doesn't exist, a new folder will be created before the document(s) are created\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/add-documents"
},
"response": []
},
@@ -515,7 +515,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"pageSize\": 20,\n \"pageToken\": \"8740648311207869\"\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentIds\": [\"yourDocumentId1\", \"yourDocumentId2\"],\n \"folderId\": \"yourFolderId\",\n \"pageSize\": 20,\n \"pageToken\": \"8740648311207869\"\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -534,7 +534,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\"}}'"
+ "description": "Use this API to retrieve specific documents or all documents from an organization.\n\n**Filtering Options:**\n- `documentIds`: Array of Document IDs (Limit: Only 30 IDs can be passed at a time)\n- `folderId`: Folder ID to filter documents by the given folder ID\n- Supports pagination with `pageSize` and `pageToken`\n\n**Requirements:**\n-"
},
"response": []
},
@@ -577,7 +577,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documents\": [{\"documentId\": \"yourDocumentId\",\"documentName\": \"Your Document Name\"}]}}'"
+ "description": "Use this API to update metadata of documents within an organization.\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/update-documents"
},
"response": []
},
@@ -620,7 +620,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documentIds\": [\"yourDocumentId1\", \"yourDocumentId2\"]}}'"
+ "description": "Use this API to delete specific documents from an organization.\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/delete-documents"
},
"response": []
},
@@ -663,7 +663,7 @@
"move"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/move' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documentIds\": [\"yourDocumentId1\", \"yourDocumentId2\"],\"folderId\": \"targetFolderId\"}}'"
+ "description": "Use this API to move documents to a different folder within an organization.\n\n**Key Points:**\n- Can move up to 30 documents at a time\n- Documents are moved to the specified folder ID\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/move-documents"
},
"response": []
},
@@ -707,7 +707,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/access/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documentIds\": [\"yourDocumentId1\", \"yourDocumentId2\"],\"accessType\": \"organizationPrivate\"}}'"
+ "description": "Use this API to update the access type for a single or multiple documents at once.\n\n**Key Points:**\n- Access types: `organizationPrivate`, `restricted`, `public`\n- You can update the default access type for all documents in the Velt Console\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/update-document-access"
},
"response": []
},
@@ -752,7 +752,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/documents/access/disablestate/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documentIds\": [\"yourDocumentId\"],\"disabled\": true}}'"
+ "description": "Use this API to enable or disable both read and write access for all users.\n\n**Use Case:**\n- When a customer's trial or subscription has ended and you want to disable their access to the Velt data, you could use this to disable access to specific documents.\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/documents/update-document-disable-state"
},
"response": []
}
@@ -782,7 +782,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"users\": [\n {\n \"userId\": \"yourUserId1\",\n \"name\": \"User Name\",\n \"email\": \"user@email.com\",\n \"accessRole\": \"editor\"\n }\n ]\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"createOrganization\": true,\n \"documentId\": \"yourDocumentId\",\n \"createDocument\": true,\n \"folderId\": \"yourFolderId\",\n \"createFolder\": true,\n \"users\": [\n {\n \"userId\": \"yourUserId1\",\n \"name\": \"User Name\",\n \"email\": \"user@email.com\",\n \"accessRole\": \"editor\"\n }\n ]\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -800,7 +800,7 @@
"add"
]
},
- "description": "Use this API to add Users to:\n1. **Organization:** This will provide them access to all the documents in the organization unless the document has `restricted` access type. It will also show users in the contact list of the organization.\n2. **Folder:** This will provide them access to all the documents in the folder. If you pass the `folderId`, then the users will be added to the folder and not the organization.\n3. **Document:** This will provide them access to the specified document. It will also show users in the contact list of the document. If you pass the `documentId`, then the users will be added to the document and not the organization or folder.\n\n**Key Points:**\n- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) to define user's capabilities\n- If organization does not exist, it will be created\n- User's `initial` will be automatically created from the name field if not provided\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/users/add-users"
+ "description": "Use this API to add Users to:\n1. **Organization:** This will provide them access to all the documents in the organization unless the document has `restricted` access type. It will also show users in the contact list of the organization.\n2. **Folder:** This will provide them access to all the documents in the folder. If you pass the `folderId`, then the users will be added to the folder and not the organization.\n3. **Document:** This will provide them access to the specified document. It will also show users in the contact list of the document. If you pass the `documentId`, then the users will be added to the document and not the organization or folder.\n\n**Key Points:**\n- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) to define user's capabilities\n- If organization does not exist, it will be created\n- User's `initial` will be automatically created from the name field if not provided\n\n**Optional Parameters:**\n- `createOrganization`: If set to true, a new organization will be created (if it doesn't exist) before users are added\n- `createDocument`: If set to true and `documentId` is provided but doesn't exist, a new document will be created before users are added\n- `folderId`: Folder ID to add users to a specific folder. Either provide `documentId` or `folderId`\n- `createFolder`: If set to true and `folderId` is provided but doesn't exist, a new folder will be created before users are added\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/users/add-users"
},
"response": []
},
@@ -842,7 +842,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/users/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\"\n }\n}'"
+ "description": "Use this API to retrieve users based on various filters such as organization ID, document ID, organization user group IDs or user IDs. You can use these filters in various combinations to get the desired users.\n\n**Filtering Options:**\n- `documentId`: Document ID\n- `folderId`: Folder ID (Either provide `documentId` or `folderId`)\n- `userIds`: Array of User IDs (Limit: Only 30 items at a time)\n- `organizationUserGroupIds`: Array of Organization User Group IDs (Only 30 items at a time)\n- `allDocuments`: If true, all document users within the organization will be retrieved\n- `groupByDocumentId`: If true, the response will be grouped by document ID\n- Supports pagination with `pageSize` and `pageToken`\n\n**Requirements:**\n-"
},
"response": []
},
@@ -884,7 +884,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/users/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"users\": [\n {\n \"userId\": \"yourUserId1\",\n \"name\": \"User Name\",\n \"email\": \"user@email.com\",\n \"accessRole\": \"editor\"\n }\n ]\n }\n}'"
+ "description": "Use this API to update user metadata based on various filters such as organization ID, document ID, folder ID and user IDs. You can use these filters in various combinations to get the desired results. The user metadata such as name, email etc can be updated.\n\n**Key Points:**\n- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) to define user's capabilities\n- Can update users at organization, document, or folder level\n- Either provide `documentId` or `folderId`\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/users/update-users"
},
"response": []
},
@@ -926,7 +926,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/users/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\":{\"organizationId\":\"yourOrganizationId\",\"userIds\":[\"yourUserId1\"]}}'"
+ "description": "Use this API to remove Users from:\n1. **Organization:** This will remove their access from all the documents and data in the organization. It will also remove these users from the contact list of the organization.\n2. **Document:** This will remove their access from the specified document. It will also remove these users from the contact list of the document. If you pass the `documentId`, then the users will be removed from the document.\n3. **Folder:** This will remove their access from the specified folder. Either provide `documentId` or `folderId`.\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/users/delete-users"
},
"response": []
}
@@ -975,7 +975,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/usergroups/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"organizationUserGroups\": [\n {\n \"groupId\": \"engineering\",\n \"groupName\": \"Engineering\"\n }\n ]\n }\n}'"
+ "description": "Use this API to add organization user groups to a specific organization.\n\n**Optional Parameters:**\n- `createOrganization`: If set to true, a new organization will be created (if it doesn't exist) before the group(s) are created\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/add-groups"
},
"response": []
},
@@ -1019,7 +1019,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/usergroups/users/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"organizationUserGroupId\": \"yourGroupId\",\n \"userIds\": [\"yourUserId1\"]\n }\n}'"
+ "description": "Use this API to add users to a specific organization user group.\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/add-users-to-group"
},
"response": []
},
@@ -1063,7 +1063,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/organizations/usergroups/users/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\":{\"organizationId\":\"yourOrganizationId\",\"organizationUserGroupId\":\"yourGroupId\",\"userIds\":[\"yourUserId1\"]}}'"
+ "description": "Use this API to delete users from a specific organization user group.\n\n**Optional Parameters:**\n- `deleteAll`: If true, all users in the group will be deleted\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/user-groups/delete-users-from-group"
},
"response": []
}
@@ -1097,7 +1097,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"commentAnnotations\": [\n {\n \"location\": {\n \"id\": \"yourLocationId\",\n \"locationName\": \"yourLocationName\"\n },\n \"targetElement\": {\n \"elementId\": \"yourElementId\",\n \"targetText\": \"Your Target Text\",\n \"occurrence\": 1,\n \"selectAllContent\": false\n },\n \"commentData\": [\n {\n \"commentText\": \"Sample Comment\",\n \"commentHtml\": \"Sample Comment
\",\n \"from\": {\n \"userId\": \"yourUserId\",\n \"name\": \"yourUserName\",\n \"email\": \"yourUserEmail\"\n }\n }\n ]\n }\n ]\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"commentAnnotations\": [\n {\n \"annotationId\": \"customAnnotationId\",\n \"location\": {\n \"id\": \"yourLocationId\",\n \"locationName\": \"yourLocationName\"\n },\n \"targetElement\": {\n \"elementId\": \"yourElementId\",\n \"targetText\": \"Your Target Text\",\n \"occurrence\": 1,\n \"selectAllContent\": false\n },\n \"commentData\": [\n {\n \"commentId\": 12345,\n \"commentText\": \"Sample Comment with {{userId}} tagged\",\n \"commentHtml\": \"Sample Comment
\",\n \"context\": {\n \"customKey\": \"customValue\"\n },\n \"isCommentResolverUsed\": false,\n \"isCommentTextAvailable\": true,\n \"triggerNotification\": false,\n \"from\": {\n \"userId\": \"yourUserId\",\n \"name\": \"yourUserName\",\n \"email\": \"yourUserEmail\"\n },\n \"createdAt\": 1640995200000,\n \"lastUpdated\": 1640995200000,\n \"taggedUserContacts\": [\n {\n \"userId\": \"taggedUserId\",\n \"contact\": {\n \"userId\": \"taggedUserId\",\n \"name\": \"Tagged User Name\",\n \"email\": \"tagged@example.com\"\n }\n }\n ]\n }\n ]\n }\n ]\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -1115,7 +1115,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/add' \\\n--header 'x-velt-api-key: ' \\\n--header 'x-velt-auth-token: ' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"commentAnnotations\": [\n {\n \"location\": {\n \"id\": \"yourLocationId\",\n \"locationName\": \"yourLocationName\"\n },\n \"targetElement\": {\n \"elementId\": \"yourElementId\",\n \"targetText\": \"Your Target Text\",\n \"occurrence\": 1,\n \"selectAllContent\": false\n },\n \"commentData\": [\n {\n \"commentText\": \"Sample Comment\",\n \"commentHtml\": \"Sample Comment
\",\n \"from\": {\n \"userId\": \"yourUserId\",\n \"name\": \"yourUserName\",\n \"email\": \"yourUserEmail\"\n }\n }\n ]\n }\n ]\n }\n}'"
+ "description": "Use this API to add comment annotations to a document within an organization.\n- You can add comments on an element, text or page.\n- You can provide HTML or text content.\n- Additional filters can be applied using location IDs.\n\n**Optional Parameters for commentAnnotations:**\n- `annotationId`: Custom Annotation ID. If not provided, Velt will generate a unique ID\n\n**Optional Parameters for commentData:**\n- `commentId`: Custom Comment ID. If not provided, Velt will generate a unique ID\n- `context`: Custom key/value metadata object for storing additional information\n- `isCommentResolverUsed`: Use for self-hosting comments data\n- `isCommentTextAvailable`: Use for self-hosting comments data\n- `triggerNotification`: When enabled, triggers in-app notifications, email notifications, and webhooks (default: false)\n- `createdAt`: Created At timestamp (in milliseconds since epoch)\n- `lastUpdated`: Last Updated timestamp (in milliseconds since epoch)\n- `taggedUserContacts`: Array of tagged user contacts for replacing {{userId}} in commentText\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/add-comment-annotations"
},
"response": []
},
@@ -1139,7 +1139,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"pageSize\": 10,\n \"pageToken\": \"1720441573192\",\n \"statusId\": \"OPEN\"\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"documentIds\": [\"yourDocumentId1\", \"yourDocumentId2\"],\n \"groupByDocumentId\": true,\n \"folderId\": \"yourFolderId\",\n \"locationIds\": [\"locationx\"],\n \"annotationIds\": [\"annotationId1\"],\n \"userIds\": [\"yourUserId\"],\n \"statusIds\": [\"OPEN\", \"IN_PROGRESS\"],\n \"updatedAfter\": 1640995200000,\n \"updatedBefore\": 1740995200000,\n \"createdAfter\": 1640995200000,\n \"createdBefore\": 1740995200000,\n \"pageSize\": 10,\n \"pageToken\": \"1720441573192\"\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -1157,7 +1157,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/get' \\\n--header 'x-velt-api-key: ' \\\n--header 'x-velt-auth-token: ' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"pageSize\": 10,\n \"pageToken\": \"1720441573192\",\n \"statusId\": \"OPEN\"\n }\n}'"
+ "description": "Use this API to retrieve comment annotations from a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.\n\n**Filtering Options:**\n- `documentId`: Single document ID\n- `documentIds`: Array of Document IDs (Limit: Only 30 IDs at a time)\n- `groupByDocumentId`: Data will be grouped by document ID\n- `folderId`: Folder ID to filter annotations by the folder\n- `locationIds`: Array of Location IDs (Limit: Only 30 IDs at a time)\n- `annotationIds`: Array of Annotation IDs (Limit: Only 30 IDs at a time)\n- `userIds`: Array of User IDs (Limit: Only 30 IDs at a time)\n- `statusIds`: Status IDs of the annotations to filter on\n- `updatedAfter`/`updatedBefore`: Filter by lastUpdated timestamp (milliseconds)\n- `createdAfter`/`createdBefore`: Filter by createdAt timestamp (milliseconds)\n- Supports pagination with `pageSize` and `pageToken`\n\n**Requirements:**\n-"
},
"response": []
},
@@ -1199,7 +1199,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/update' \\\n--header 'x-velt-api-key: ' \\\n--header 'x-velt-auth-token: ' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"updatedData\": {\n \"status\": {\n \"type\": \"ongoing\"\n }\n }\n }\n}'"
+ "description": "Use this API to update comment annotations in a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.\n\n**Key Points:**\n- Can update annotation metadata such as status, location, targetElement, priority, assignee, and more\n- Supports filtering by locationIds, annotationIds, and userIds\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/update-comment-annotations"
},
"response": []
},
@@ -1241,7 +1241,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/delete' \\\n--header 'x-velt-api-key: ' \\\n--header 'x-velt-auth-token: ' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"locationIds\": [\"locationx\"],\n \"annotationIds\": [\"yourAnnotationId1\", \"yourAnnotationId2\"],\n \"userIds\": [\"yourUserId\"]\n }\n}'"
+ "description": "Use this API to delete comment annotations from a document within an organization. Additional filters can be applied using location IDs, annotation IDs, or user IDs.\n\n**Filtering Options:**\n- `locationIds`: Array of Location IDs\n- `annotationIds`: Array of Annotation IDs\n- `userIds`: Array of User IDs\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comment-annotations/delete-comment-annotations"
},
"response": []
},
@@ -1284,7 +1284,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/count/get' \\\n--header 'x-velt-api-key: ' \\\n--header 'x-velt-auth-token: ' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n \"data\": {\n \"organizationId\": \"ORG_ID\",\n \"documentIds\": [\"DOC_1\", \"DOC_2\"],\n \"userId\": \"1.1\",\n \"statusIds\": [\"OPEN\", \"IN_PROGRESS\"]\n }\n}'"
+ "description": "Use this API to retrieve the count of comment annotations for specified documents, including both total and unread counts.\n\n**Key Points:**\n- Limit: Only 30 document IDs can be passed at a time\n- Can filter by status IDs\n- Returns total and unread counts per document\n\n**Requirements:**\n-"
},
"response": []
}
@@ -1333,7 +1333,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/comments/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"annotationId\": \"yourAnnotationId\",\n \"commentData\": [\n {\n \"commentText\": \"Sample Comment\",\n \"commentHtml\": \"Hello
\",\n \"from\": {\n \"userId\": \"yourUserId\"\n }\n }\n ]\n }\n}'"
+ "description": "Use this API to add new comments to an existing comment annotation.\n\n**Key Points:**\n- Add one or multiple comments to an annotation thread\n- Supports both text and HTML content\n- Can include user mentions, metadata, and trigger notifications\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/add-comments"
},
"response": []
},
@@ -1376,7 +1376,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/comments/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"annotationId\": \"yourAnnotationId\"\n }\n}'"
+ "description": "Use this API to retrieve comments from a specific comment annotation.\n\n**Filtering Options:**\n- `userIds`: Array of User IDs (optional)\n- `commentIds`: Array of Comment IDs (optional)\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/get-comments"
},
"response": []
},
@@ -1419,7 +1419,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/comments/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"annotationId\": \"yourAnnotationId\",\n \"commentIds\": [153783, 607395],\n \"updatedData\": {\n \"commentText\": \"Sample Updated Comment\",\n \"commentHtml\": \"Hello Updated
\"\n }\n }\n}'"
+ "description": "Use this API to update specific comments within a comment annotation.\n\n**Key Points:**\n- Can update commentText, commentHtml, and other comment properties\n- Specify which comments to update using commentIds array\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/update-comments"
},
"response": []
},
@@ -1462,7 +1462,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --location --request POST 'https://api.velt.dev/v2/commentannotations/comments/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"organizationId\": \"yourOrganizationId\",\"documentId\": \"yourDocumentId\",\"annotationId\": \"yourAnnotationId\",\"commentIds\": [153783, 607395]}}'"
+ "description": "Use this API to delete specific comments from a comment annotation.\n\n**Key Points:**\n- Specify which comments to delete using commentIds array\n- Comments are permanently removed from the annotation thread\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/comments-feature/comments/delete-comments"
},
"response": []
}
@@ -1494,7 +1494,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"displayHeadlineMessageTemplate\": \"This is main template, you can pass variables using curly brackets like this: {actionUser}, {recipientUser}, {yourCustomVariableWithStringValue}\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"recipientUser\": {\n \"userId\": \"recipientUserId\",\n \"name\": \"Recipient Name\",\n \"email\": \"recipient@example.com\"\n },\n \"yourCustomField\": \"Variable will be replaced with this text\"\n },\n \"displayBodyMessage\": \"This is body message (Secondary message)\",\n \"notifyUsers\": [\n {\n \"email\": \"test@example.com\",\n \"userId\": \"testingUserId\"\n },\n {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n }\n ]\n }\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"verifyUserPermissions\": false,\n \"notificationId\": \"custom_notification_id\",\n \"displayHeadlineMessageTemplate\": \"This is main template, you can pass variables using curly brackets like this: {actionUser}, {recipientUser}, {yourCustomVariableWithStringValue}\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"recipientUser\": {\n \"userId\": \"recipientUserId\",\n \"name\": \"Recipient Name\",\n \"email\": \"recipient@example.com\"\n },\n \"yourCustomField\": \"Variable will be replaced with this text\"\n },\n \"displayBodyMessage\": \"This is body message (Secondary message)\",\n \"notifyUsers\": [\n {\n \"email\": \"test@example.com\",\n \"userId\": \"testingUserId\"\n },\n {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n }\n ],\n \"notifyAll\": true,\n \"notificationSourceData\": {\n \"customKey\": \"customValue\"\n }\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -1512,7 +1512,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"displayHeadlineMessageTemplate\": \"This is main template, you can pass variables using curly brackets like this: {actionUser}, {recipientUser}, {yourCustomVariableWithStringValue}\",\n \"displayHeadlineMessageTemplateData\": {\n \"actionUser\": {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n },\n \"recipientUser\": {\n \"userId\": \"recipientUserId\",\n \"name\": \"Recipient Name\",\n \"email\": \"recipient@example.com\"\n },\n \"yourCustomField\": \"Variable will be replaced with this text\"\n },\n \"displayBodyMessage\": \"This is body message (Secondary message)\",\n \"notifyUsers\": [\n {\n \"email\": \"test@example.com\",\n \"userId\": \"testingUserId\"\n },\n {\n \"userId\": \"yourUserId\",\n \"name\": \"User Name\",\n \"email\": \"user@example.com\"\n }\n ]\n }\n}'"
+ "description": "Use this API to add notifications.\n\n**Key Points:**\n- Send custom notifications to users via inbox, email, and other channels\n- Support for template variables in headline messages\n- Can notify specific users or all users in organization\n\n**Optional Parameters:**\n- `verifyUserPermissions`: When enabled, notifications are only created for users who have access to the specified document (default: false)\n- `notificationId`: Custom notification ID to prevent duplicate notifications. Only special characters `_`, `-` are allowed\n- `notifyAll`: If set to true, notification will be sent to all users in the organization (default: true)\n- `notificationSourceData`: Any custom object to be stored with the notification. When the user clicks on the notification, this data will be sent in the callback\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/add-notifications"
},
"response": []
},
@@ -1554,7 +1554,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"pageSize\": 20,\n \"pageToken\": \"8740648311207869\"\n }\n}'"
+ "description": "Use this API to retrieve notifications for a specific document within an organization.\n\n**Key Points:**\n- Supports pagination with `pageSize` and `pageToken`\n- Returns all notifications for the specified document\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/get-notifications-v2"
},
"response": []
},
@@ -1596,7 +1596,7 @@
"update"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/update' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"locationId\": \"yourLocationId\",\n \"userId\": \"yourUserId\",\n \"notifications\": [\n {\n \"id\": \"yourNotificationId\",\n \"displayBodyMessage\": \"This is body message (Secondary message)\"\n }\n ]\n }\n}'"
+ "description": "Use this API to update existing notifications.\n\n**Key Points:**\n- Can update notification content and metadata\n- Specify which notifications to update using the notifications array with IDs\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/update-notifications"
},
"response": []
},
@@ -1638,7 +1638,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"documentId\": \"yourDocumentId\",\n \"locationId\": \"yourLocationId\",\n \"userId\": \"yourUserId\",\n \"notificationIds\": [\"yourNotificationId\"]\n }\n}'"
+ "description": "Use this API to delete specific notifications.\n\n**Key Points:**\n- Permanently remove notifications from the system\n- Specify which notifications to delete using notification IDs\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/delete-notifications"
},
"response": []
},
@@ -1681,7 +1681,7 @@
"set"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/config/set' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"org1\",\n \"documentIds\": [\"doc1\"],\n \"userIds\": [\"USER_ID1\"],\n \"config\": {\n \"inbox\": \"ALL\",\n \"email\": \"ALL\"\n }\n }\n}'"
+ "description": "Use this API to configure notification channels for specific users and documents.\n\n**Key Points:**\n- Set notification preferences for inbox, email, and Slack channels\n- Options: `ALL`, `MENTIONS_ONLY`, or `NONE`\n- Can configure per user and per document\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/set-config"
},
"response": []
},
@@ -1724,7 +1724,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/notifications/config/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"org1\",\n \"documentIds\": [\"doc1\"],\n \"userId\": \"USER_ID1\"\n }\n}'"
+ "description": "Use this API to retrieve notification configuration settings for specific users and documents.\n\n**Key Points:**\n- Get current notification preferences for a user\n- Returns settings for inbox, email, and other notification channels\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/notifications/get-config"
},
"response": []
}
@@ -1773,7 +1773,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/users/data/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"yourOrganizationId\",\n \"userId\": \"yourUserId\",\n \"pageToken\": \"yourPageToken\"\n }\n}'"
+ "description": "Use this API to export all data for a specific user (GDPR compliance).\n\n**Key Points:**\n- Returns all user data including comments, annotations, and other collaboration data\n- Supports pagination with `pageToken`\n- Used for GDPR data portability requests\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/get-all-user-data-gdpr"
},
"response": []
},
@@ -1816,7 +1816,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/users/data/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"userIds\": [\n \"yourUserId1\",\n \"yourUserId2\"\n ],\n \"organizationIds\": [\n \"yourOrganizationId1\",\n \"yourOrganizationId2\"\n ]\n }\n}'"
+ "description": "Use this API to permanently delete all user data (GDPR compliance).\n\n**Warning:**\nThis will permanently delete all data associated with the specified users including comments, annotations, and other collaboration data.\n\n**Key Points:**\n- Can delete data for multiple users across multiple organizations\n- Returns a jobId to track deletion status\n- Used for GDPR right to erasure requests\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/delete-all-user-data-gdpr"
},
"response": []
},
@@ -1860,7 +1860,7 @@
"status"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/users/data/delete/status' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"jobId\": \"yourJobId\"}}}'"
+ "description": "Use this API to check the status of user data deletion jobs.\n\n**Key Points:**\n- Track the progress of deletion operations\n- Returns status: pending, in-progress, completed, or failed\n- Use the jobId returned from the delete all user data API\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/gdpr/get-delete-user-data-status-gdpr"
},
"response": []
}
@@ -1908,7 +1908,49 @@
"generate_token"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/auth/generate_token' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"userId\": \"user123\",\n \"userProperties\": {\n \"isAdmin\": false,\n \"name\": \"John Doe\",\n \"email\": \"john@example.com\"\n },\n \"permissions\": {\n \"resources\": [\n {\n \"type\": \"organization\",\n \"id\": \"org_123\",\n \"accessRole\": \"viewer\"\n },\n {\n \"type\": \"document\",\n \"id\": \"doc_456\",\n \"organizationId\": \"org_123\",\n \"accessRole\": \"editor\",\n \"expiresAt\": 1640995200\n }\n ]\n }\n}'"
+ "description": "Use this API to generate authentication JWT token for users to access Velt features. The token contains user information and permissions for specific resources like organizations, folders and documents.\n\n**Key Points:**\n- JWT token expires in 48 hours\n- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource\n- Can specify permissions for different resource types (organization, folder, document)\n- Optional `expiresAt` field for time-limited permissions\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/generate-token"
+ },
+ "response": []
+ },
+ {
+ "name": "Generate Signature",
+ "request": {
+ "method": "POST",
+ "header": [
+ {
+ "key": "x-velt-api-key",
+ "value": "{{api_key}}"
+ },
+ {
+ "key": "x-velt-auth-token",
+ "value": "{{auth_token}}"
+ },
+ {
+ "key": "Content-Type",
+ "value": "application/json"
+ }
+ ],
+ "body": {
+ "mode": "raw",
+ "raw": "{\n \"data\": {\n \"permissions\": [\n {\n \"userId\": \"user123\",\n \"resourceId\": \"document456\",\n \"type\": \"document\",\n \"hasAccess\": true,\n \"accessRole\": \"viewer\",\n \"expiresAt\": 1759745729823\n },\n {\n \"userId\": \"user123\",\n \"resourceId\": \"org789\",\n \"type\": \"organization\",\n \"hasAccess\": true\n }\n ]\n }\n}",
+ "options": {
+ "raw": {
+ "language": "json"
+ }
+ }
+ },
+ "url": {
+ "raw": "{{base_url}}/v2/auth/generate_signature",
+ "host": [
+ "{{base_url}}"
+ ],
+ "path": [
+ "v2",
+ "auth",
+ "generate_signature"
+ ]
+ },
+ "description": "Use this API to generate a secure signature for Permission Provider responses. The signature validates the integrity of permission decisions returned from your authorization service.\n\n**Security Critical:**\nThis endpoint must be called from your backend server, never from client-side code. The signature ensures that permission responses haven't been tampered with.\n\n**Use Case:**\nThis API is used in conjunction with the Permission Provider configuration mode. When your `onResourceAccessRequired` function is called, use this endpoint to generate a secure signature for your permission response.\n\n**Key Points:**\n- Each permission object must include userId, resourceId, type, and hasAccess\n- For document resources, can specify `accessRole`: `viewer` or `editor`\n- Optional `expiresAt` timestamp (in milliseconds) for time-limited permissions\n- Resource types: `document`, `folder`, or `organization`\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/generate-signature"
},
"response": []
},
@@ -1951,7 +1993,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/auth/permissions/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"user\": {\n \"userId\": \"some-user-id\"\n },\n \"permissions\": {\n \"resources\": [\n {\n \"type\": \"organization\",\n \"id\": \"YOUR_ORGANIZATION_ID\",\n \"accessRole\": \"editor\"\n }\n ]\n }\n }\n}'"
+ "description": "Use this API to add permissions to a user for various resources like organizations, folders, documents, etc.\n\n**Key Points:**\n- Set `accessRole` to `viewer` (read-only) or `editor` (read/write) for each resource\n- Can add permissions for multiple resources in a single API call\n- Optional `expiresAt` field for time-limited permissions\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/add-permissions"
},
"response": []
},
@@ -1994,7 +2036,7 @@
"get"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/auth/permissions/get' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"data\": {\n \"organizationId\": \"org1\",\n \"documentIds\": [\"freestyle-comments1\"],\n \"userIds\": [\"samarth\"]\n }\n}'"
+ "description": "Use this API to retrieve permissions for specific users within an organization.\n\n**Key Points:**\n- Get permissions for specific documents or folders\n- Filter by user IDs\n- Returns access roles and resource permissions\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/get-permissions"
},
"response": []
},
@@ -2037,7 +2079,7 @@
"remove"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/auth/permissions/remove' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"userId\": \"USER_ID\",\"permissions\": {\"resources\": [{\"type\": \"organization\",\"id\": \"ORGANIZATION_ID\"},{\"type\": \"document\",\"id\": \"DOCUMENT_ID\",\"organizationId\": \"ORGANIZATION_ID\"}]}}}'"
+ "description": "Use this API to remove permissions from a user for specific resources.\n\n**Key Points:**\n- Revoke user access to organizations, folders, or documents\n- Can remove multiple resource permissions in a single API call\n- User will lose access to the specified resources\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/auth/remove-permissions"
},
"response": []
}
@@ -2067,7 +2109,7 @@
],
"body": {
"mode": "raw",
- "raw": "{\n \"organizationId\": \"YOUR_ORGANIZATION_ID\",\n \"documentId\": \"YOUR_DOCUMENT_ID\",\n \"liveStateDataId\": \"sample_live_state_data_id\",\n \"data\": {\n \"status\": \"active\",\n \"message\": \"Hello World\",\n \"customField\": \"custom value\"\n },\n \"merge\": true\n}",
+ "raw": "{\n \"data\": {\n \"organizationId\": \"YOUR_ORGANIZATION_ID\",\n \"documentId\": \"YOUR_DOCUMENT_ID\",\n \"liveStateDataId\": \"sample_live_state_data_id\",\n \"data\": {\n \"status\": \"active\",\n \"message\": \"Hello World\",\n \"customField\": \"custom value\"\n },\n \"merge\": true\n }\n}",
"options": {
"raw": {
"language": "json"
@@ -2085,7 +2127,7 @@
"broadcast"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/livestate/broadcast' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\n \"organizationId\": \"YOUR_ORGANIZATION_ID\",\n \"documentId\": \"YOUR_DOCUMENT_ID\",\n \"liveStateDataId\": \"sample_live_state_data_id\",\n \"data\": {\n \"status\": \"active\",\n \"message\": \"Hello World\",\n \"customField\": \"custom value\"\n },\n \"merge\": true\n}'"
+ "description": "Use this API to broadcast live state events to any document. Use it with the Live State feature.\n\n**Key Points:**\n- Broadcast real-time state changes and events to all connected users\n- Can be any valid serializable JSON object\n- `merge`: If true, merges the new data with existing data instead of replacing it (default: false)\n\n**Use Cases:**\n- Sync application state across users\n- Broadcast custom events\n- Share real-time data updates\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/livestate/broadcast-event"
},
"response": []
}
@@ -2134,7 +2176,7 @@
"add"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/workspace/domains/add' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"domains\": [\"https://www.google.com\", \"https://*.firebase.com\"]}}'"
+ "description": "Use this API to whitelist domains for your workspace.\n\n**Key Points:**\n- Control which domains can access your Velt workspace\n- Supports wildcard patterns (e.g., `https://*.example.com`)\n- Improves security by restricting access to approved domains\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/workspace/add-domain"
},
"response": []
},
@@ -2177,7 +2219,7 @@
"delete"
]
},
- "description": "Generated from cURL: curl --request POST 'https://api.velt.dev/v2/workspace/domains/delete' --header 'x-velt-api-key: ' --header 'x-velt-auth-token: ' --header 'Content-Type: application/json' --data-raw '{\"data\": {\"domains\": [\"https://www.google.com\", \"https://*.firebase.com\"]}}'"
+ "description": "Use this API to remove domains from your workspace whitelist.\n\n**Key Points:**\n- Remove previously whitelisted domains\n- Access from removed domains will be blocked\n- Can remove multiple domains in a single request\n\nš Full Documentation: https://docs.velt.dev/api-reference/rest-apis/v2/workspace/delete-domain"
},
"response": []
}
diff --git a/docs.json b/docs.json
index 2a1b4711..ba1ede5c 100644
--- a/docs.json
+++ b/docs.json
@@ -374,6 +374,7 @@
"groups": [
{
"group": "REST APIs",
+ "openapi": "api-reference/open-api/openapi.yaml",
"pages": [
{
"group": "v2",
@@ -716,11 +717,6 @@
"dark": "/velt-logo-big.png",
"href": "https://docs.velt.dev"
},
- "api": {
- "playground": {
- "display": "interactive"
- }
- },
"appearance": {
"default": "dark"
},