Busabase
OpenAPI 参考

Nodes

Workspace tree: folders, Bases, files, agents.

GET
/api/v1/nodes

Query Parameters

parentId?|

Node to start from. Omit or null to start from the space root.

depth?integer

How many levels beneath the start point to eagerly include (default 2 once either field is set). Capped at 5.

Range1 <= value <= 5
status?string

active walks the live TREE. archived returns a FLAT list of soft-archived nodes (the Trash view) with no parent/depth walk — so the response shape you can rely on differs between the two, not just the rows.

Default"active"

Value in

  • "active"
  • "archived"
types?array<>|

Return a flat list of lightweight summaries for these node types instead of the tree. Read one node's full detail with GET /nodes/{nodeId}.

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes"
[  {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  }]
GET
/api/v1/nodes/search

Query Parameters

query*string

Matched against node NAMES only. Use /api/v1/search to search content.

Length1 <= length
limit?integer

Results to return. Capped at 50 here, unlike most listings' 100.

Range1 <= value <= 50
Default20

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/search?query=string"
[  {    "id": "string",    "type": "folder",    "name": "string",    "slug": "string",    "path": "string",    "updatedAt": "string",    "icon": {      "type": "emoji",      "value": "string"    }  }]
GET
/api/v1/nodes/{nodeId}/is-descendant

Path Parameters

nodeId*string

The node walked UPWARDS from — the possible descendant.

Query Parameters

potentialAncestorId*string

The node looked for on the way up. Answers "is nodeId inside this one?", not the reverse — swapping the two silently returns the wrong answer rather than an error.

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/is-descendant?potentialAncestorId=string"
{  "isDescendant": true}
GET
/api/v1/nodes/{nodeId}/ancestors

Path Parameters

nodeId*string

Node id, or a slug that is unique within its type.

Query Parameters

type?string

Optional disambiguation hint, only needed when nodeId is a slug that exists under more than one node type.

Value in

  • "folder"
  • "base"
  • "skill"
  • "drive"
  • "airapp"
  • "file"
  • "doc"
  • "form"
  • "whiteboard"
  • "workflow"
  • "html"

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/ancestors"
{  "ancestorIds": [    "string"  ]}
GET
/api/v1/nodes/route-state/{nodeId}

Path Parameters

nodeId*string

Node id, or a slug that is unique within its type.

Query Parameters

type?string

Optional disambiguation hint, only needed when nodeId is a slug that exists under more than one node type.

Value in

  • "folder"
  • "base"
  • "skill"
  • "drive"
  • "airapp"
  • "file"
  • "doc"
  • "form"
  • "whiteboard"
  • "workflow"
  • "html"

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/route-state/string"
{  "status": "active",  "nodeId": "string"}
POST
/api/v1/nodes/change-requests

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/change-requests" \  -H "Content-Type: application/json" \  -d '{    "operations": [      {        "kind": "create",        "nodeType": "folder",        "slug": "string",        "name": "string"      }    ]  }'
{  "id": "string",  "baseId": "string",  "targetType": "base",  "nodeId": "string",  "status": "in_review",  "submittedBy": "string",  "submittedByUser": null,  "sourceAttribution": {    "displayName": "string",    "ownerName": "string",    "channel": "web_ui"  },  "sourceMeta": {    "property1": null,    "property2": null  },  "reviewPolicySnapshot": {    "property1": null,    "property2": null  },  "mergeSummary": {    "property1": null,    "property2": null  },  "rejectedReason": "string",  "reviewedAt": "string",  "mergedAt": "string",  "createdAt": "string",  "updatedAt": "string",  "base": {    "id": "string",    "nodeId": "string",    "slug": "string",    "name": "string",    "description": "string",    "reviewPolicy": {      "kind": "single",      "requiredApprovals": 0    },    "createdAt": "string",    "fields": [      {        "id": "string",        "baseId": "string",        "slug": "string",        "name": "string",        "type": "text",        "required": true,        "position": 0,        "options": {}      }    ]  },  "node": {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  },  "operations": [    {      "id": "string",      "changeRequestId": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operation": "node_create",      "status": "pending",      "targetRecordId": "string",      "targetViewId": "string",      "filePath": "string",      "sourceRecordId": "string",      "sourceCommitId": "string",      "baseCommitId": "string",      "headCommitId": "string",      "deleteMode": "archive",      "mergedRecordId": "string",      "mergedViewId": "string",      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "headCommit": {        "id": "string",        "baseId": "string",        "targetType": "base",        "nodeId": "string",        "operationId": "string",        "parentCommitId": "string",        "payload": {          "property1": null,          "property2": null        },        "operation": "node_create",        "message": "string",        "author": "string",        "authorUser": null,        "createdAt": "string"      },      "baseFields": {        "property1": null,        "property2": null      }    }  ],  "primaryOperation": {    "id": "string",    "changeRequestId": "string",    "baseId": "string",    "targetType": "base",    "nodeId": "string",    "operation": "node_create",    "status": "pending",    "targetRecordId": "string",    "targetViewId": "string",    "filePath": "string",    "sourceRecordId": "string",    "sourceCommitId": "string",    "baseCommitId": "string",    "headCommitId": "string",    "deleteMode": "archive",    "mergedRecordId": "string",    "mergedViewId": "string",    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "headCommit": {      "id": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operationId": "string",      "parentCommitId": "string",      "payload": {        "property1": null,        "property2": null      },      "operation": "node_create",      "message": "string",      "author": "string",      "authorUser": null,      "createdAt": "string"    },    "baseFields": {      "property1": null,      "property2": null    }  },  "operationCount": 0,  "reviews": [    {      "id": "string",      "changeRequestId": "string",      "reviewerId": "string",      "reviewer": null,      "verdict": "approved",      "reason": "string",      "visibleOperationHeads": {        "property1": "string",        "property2": "string"      },      "createdAt": "string"    }  ]}
POST
/api/v1/nodes/{nodeId}/move

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/string/move" \  -H "Content-Type: application/json" \  -d '{}'
{  "id": "string",  "baseId": "string",  "targetType": "base",  "nodeId": "string",  "status": "in_review",  "submittedBy": "string",  "submittedByUser": null,  "sourceAttribution": {    "displayName": "string",    "ownerName": "string",    "channel": "web_ui"  },  "sourceMeta": {    "property1": null,    "property2": null  },  "reviewPolicySnapshot": {    "property1": null,    "property2": null  },  "mergeSummary": {    "property1": null,    "property2": null  },  "rejectedReason": "string",  "reviewedAt": "string",  "mergedAt": "string",  "createdAt": "string",  "updatedAt": "string",  "base": {    "id": "string",    "nodeId": "string",    "slug": "string",    "name": "string",    "description": "string",    "reviewPolicy": {      "kind": "single",      "requiredApprovals": 0    },    "createdAt": "string",    "fields": [      {        "id": "string",        "baseId": "string",        "slug": "string",        "name": "string",        "type": "text",        "required": true,        "position": 0,        "options": {}      }    ]  },  "node": {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  },  "operations": [    {      "id": "string",      "changeRequestId": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operation": "node_create",      "status": "pending",      "targetRecordId": "string",      "targetViewId": "string",      "filePath": "string",      "sourceRecordId": "string",      "sourceCommitId": "string",      "baseCommitId": "string",      "headCommitId": "string",      "deleteMode": "archive",      "mergedRecordId": "string",      "mergedViewId": "string",      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "headCommit": {        "id": "string",        "baseId": "string",        "targetType": "base",        "nodeId": "string",        "operationId": "string",        "parentCommitId": "string",        "payload": {          "property1": null,          "property2": null        },        "operation": "node_create",        "message": "string",        "author": "string",        "authorUser": null,        "createdAt": "string"      },      "baseFields": {        "property1": null,        "property2": null      }    }  ],  "primaryOperation": {    "id": "string",    "changeRequestId": "string",    "baseId": "string",    "targetType": "base",    "nodeId": "string",    "operation": "node_create",    "status": "pending",    "targetRecordId": "string",    "targetViewId": "string",    "filePath": "string",    "sourceRecordId": "string",    "sourceCommitId": "string",    "baseCommitId": "string",    "headCommitId": "string",    "deleteMode": "archive",    "mergedRecordId": "string",    "mergedViewId": "string",    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "headCommit": {      "id": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operationId": "string",      "parentCommitId": "string",      "payload": {        "property1": null,        "property2": null      },      "operation": "node_create",      "message": "string",      "author": "string",      "authorUser": null,      "createdAt": "string"    },    "baseFields": {      "property1": null,      "property2": null    }  },  "operationCount": 0,  "reviews": [    {      "id": "string",      "changeRequestId": "string",      "reviewerId": "string",      "reviewer": null,      "verdict": "approved",      "reason": "string",      "visibleOperationHeads": {        "property1": "string",        "property2": "string"      },      "createdAt": "string"    }  ]}
PATCH
/api/v1/nodes/{nodeId}/metadata

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/api/v1/nodes/string/metadata" \  -H "Content-Type: application/json" \  -d '{    "metadata": {      "property1": null,      "property2": null    }  }'
{  "id": "string",  "parentId": "string",  "type": "folder",  "slug": "string",  "name": "string",  "description": "string",  "metadata": {},  "settings": {},  "explicitVisibility": null,  "icon": null,  "position": 0,  "createdAt": "string",  "updatedAt": "string",  "baseId": "string",  "children": [    {      "id": "string",      "parentId": "string",      "type": "folder",      "slug": "string",      "name": "string",      "description": "string",      "metadata": {},      "settings": {},      "explicitVisibility": null,      "icon": null,      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "baseId": "string",      "children": [        null      ],      "hasChildren": true,      "shared": true    }  ],  "hasChildren": true,  "shared": true}
PATCH
/api/v1/nodes/{nodeId}/settings

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PATCH "https://example.com/api/v1/nodes/string/settings" \  -H "Content-Type: application/json" \  -d '{    "settings": {}  }'
{  "id": "string",  "parentId": "string",  "type": "folder",  "slug": "string",  "name": "string",  "description": "string",  "metadata": {},  "settings": {},  "explicitVisibility": null,  "icon": null,  "position": 0,  "createdAt": "string",  "updatedAt": "string",  "baseId": "string",  "children": [    {      "id": "string",      "parentId": "string",      "type": "folder",      "slug": "string",      "name": "string",      "description": "string",      "metadata": {},      "settings": {},      "explicitVisibility": null,      "icon": null,      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "baseId": "string",      "children": [        null      ],      "hasChildren": true,      "shared": true    }  ],  "hasChildren": true,  "shared": true}
GET
/api/v1/nodes/{nodeId}/agent-prompts

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/agent-prompts"
{  "nodeId": "string",  "agentPrompts": [    {      "key": "string",      "intent": "read-only",      "label": "string",      "body": "string"    }  ]}
PUT
/api/v1/nodes/{nodeId}/agent-prompts

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/nodes/string/agent-prompts" \  -H "Content-Type: application/json" \  -d '{    "agentPrompts": [      {        "key": "string",        "label": "string",        "body": "string"      }    ]  }'
{  "nodeId": "string",  "agentPrompts": [    {      "key": "string",      "intent": "read-only",      "label": "string",      "body": "string"    }  ]}
PUT
/api/v1/nodes/{nodeId}/content

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X PUT "https://example.com/api/v1/nodes/string/content" \  -H "Content-Type: application/json" \  -d '{    "content": {      "kind": "doc",      "body": "string"    }  }'
{  "id": "string",  "baseId": "string",  "targetType": "base",  "nodeId": "string",  "status": "in_review",  "submittedBy": "string",  "submittedByUser": null,  "sourceAttribution": {    "displayName": "string",    "ownerName": "string",    "channel": "web_ui"  },  "sourceMeta": {    "property1": null,    "property2": null  },  "reviewPolicySnapshot": {    "property1": null,    "property2": null  },  "mergeSummary": {    "property1": null,    "property2": null  },  "rejectedReason": "string",  "reviewedAt": "string",  "mergedAt": "string",  "createdAt": "string",  "updatedAt": "string",  "base": {    "id": "string",    "nodeId": "string",    "slug": "string",    "name": "string",    "description": "string",    "reviewPolicy": {      "kind": "single",      "requiredApprovals": 0    },    "createdAt": "string",    "fields": [      {        "id": "string",        "baseId": "string",        "slug": "string",        "name": "string",        "type": "text",        "required": true,        "position": 0,        "options": {}      }    ]  },  "node": {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  },  "operations": [    {      "id": "string",      "changeRequestId": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operation": "node_create",      "status": "pending",      "targetRecordId": "string",      "targetViewId": "string",      "filePath": "string",      "sourceRecordId": "string",      "sourceCommitId": "string",      "baseCommitId": "string",      "headCommitId": "string",      "deleteMode": "archive",      "mergedRecordId": "string",      "mergedViewId": "string",      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "headCommit": {        "id": "string",        "baseId": "string",        "targetType": "base",        "nodeId": "string",        "operationId": "string",        "parentCommitId": "string",        "payload": {          "property1": null,          "property2": null        },        "operation": "node_create",        "message": "string",        "author": "string",        "authorUser": null,        "createdAt": "string"      },      "baseFields": {        "property1": null,        "property2": null      }    }  ],  "primaryOperation": {    "id": "string",    "changeRequestId": "string",    "baseId": "string",    "targetType": "base",    "nodeId": "string",    "operation": "node_create",    "status": "pending",    "targetRecordId": "string",    "targetViewId": "string",    "filePath": "string",    "sourceRecordId": "string",    "sourceCommitId": "string",    "baseCommitId": "string",    "headCommitId": "string",    "deleteMode": "archive",    "mergedRecordId": "string",    "mergedViewId": "string",    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "headCommit": {      "id": "string",      "baseId": "string",      "targetType": "base",      "nodeId": "string",      "operationId": "string",      "parentCommitId": "string",      "payload": {        "property1": null,        "property2": null      },      "operation": "node_create",      "message": "string",      "author": "string",      "authorUser": null,      "createdAt": "string"    },    "baseFields": {      "property1": null,      "property2": null    }  },  "operationCount": 0,  "reviews": [    {      "id": "string",      "changeRequestId": "string",      "reviewerId": "string",      "reviewer": null,      "verdict": "approved",      "reason": "string",      "visibleOperationHeads": {        "property1": "string",        "property2": "string"      },      "createdAt": "string"    }  ]}
GET
/api/v1/nodes/{nodeId}/lines

Path Parameters

nodeId*string

Query Parameters

startLine*integer

First line to read. 1-indexed, and INCLUSIVE.

Range1 <= value <= 9007199254740991
endLine*integer

Last line to read, INCLUSIVE. A range wider than 2000 lines is silently narrowed to the first 2000 rather than rejected — the response reports lineCountCapped when that happened, so check it before concluding the file ends there.

Range1 <= value <= 9007199254740991

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/lines?startLine=1&endLine=1"
{  "lines": [    "string"  ],  "startLine": -9007199254740991,  "endLine": -9007199254740991,  "totalLines": 0,  "truncated": true}
GET
/api/v1/nodes/{nodeId}

Path Parameters

nodeId*string

Node id, or a slug that is unique within its type.

Query Parameters

type?string

Optional disambiguation hint, only needed when nodeId is a slug that exists under more than one node type.

Value in

  • "folder"
  • "base"
  • "skill"
  • "drive"
  • "airapp"
  • "file"
  • "doc"
  • "form"
  • "whiteboard"
  • "workflow"
  • "html"

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string"
{  "node": {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  },  "children": [    {      "id": "string",      "parentId": "string",      "type": "folder",      "slug": "string",      "name": "string",      "description": "string",      "metadata": {},      "settings": {},      "explicitVisibility": null,      "icon": null,      "position": 0,      "createdAt": "string",      "updatedAt": "string",      "baseId": "string",      "children": [        {          "id": "string",          "parentId": "string",          "type": "folder",          "slug": "string",          "name": "string",          "description": "string",          "metadata": {},          "settings": {},          "explicitVisibility": null,          "icon": null,          "position": 0,          "createdAt": "string",          "updatedAt": "string",          "baseId": "string",          "children": [            null          ],          "hasChildren": true,          "shared": true        }      ],      "hasChildren": true,      "shared": true    }  ],  "type": "folder"}
DELETE
/api/v1/nodes/{nodeId}

Path Parameters

nodeId*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/nodes/string"
{  "purged": true}
POST
/api/v1/nodes/{nodeId}/visibility

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/string/visibility" \  -H "Content-Type: application/json" \  -d '{    "visibility": "private"  }'
{  "updated": true}
POST
/api/v1/nodes/{nodeId}/favorite

Path Parameters

nodeId*string

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/string/favorite"
{  "favorited": true}
GET
/api/v1/nodes/favorites

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/favorites"
[  {    "id": "string",    "parentId": "string",    "type": "folder",    "slug": "string",    "name": "string",    "description": "string",    "metadata": {},    "settings": {},    "explicitVisibility": null,    "icon": null,    "position": 0,    "createdAt": "string",    "updatedAt": "string",    "baseId": "string",    "children": [      {        "id": "string",        "parentId": "string",        "type": "folder",        "slug": "string",        "name": "string",        "description": "string",        "metadata": {},        "settings": {},        "explicitVisibility": null,        "icon": null,        "position": 0,        "createdAt": "string",        "updatedAt": "string",        "baseId": "string",        "children": [          null        ],        "hasChildren": true,        "shared": true      }    ],    "hasChildren": true,    "shared": true  }]
GET
/api/v1/nodes/{nodeId}/principals

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/principals"
[  {    "id": "string",    "nodeId": "string",    "principalType": "user",    "principalId": "string",    "role": "read",    "grantedBy": "string",    "createdAt": "string",    "updatedAt": "string"  }]
POST
/api/v1/nodes/{nodeId}/principals

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/string/principals" \  -H "Content-Type: application/json" \  -d '{    "principalType": "user",    "principalId": "string",    "role": "read"  }'
{  "granted": true}
DELETE
/api/v1/nodes/{nodeId}/principals

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/nodes/string/principals" \  -H "Content-Type: application/json" \  -d '{    "principalType": "user",    "principalId": "string"  }'
{  "removed": true}
GET
/api/v1/node-shares

Response Body

application/json

curl -X GET "https://example.com/api/v1/node-shares"
[  {    "nodeId": "string",    "name": "string",    "slug": "string",    "type": "folder",    "icon": null,    "capability": "read",    "hasPassword": true,    "expiresAt": "string",    "createdAt": "string"  }]
GET
/api/v1/nodes/{nodeId}/share

Path Parameters

nodeId*string

Response Body

application/json

curl -X GET "https://example.com/api/v1/nodes/string/share"
{  "nodeId": "string",  "scope": "none",  "capability": "read",  "hasPassword": true,  "expiresAt": "string",  "updatedAt": "string"}
POST
/api/v1/nodes/{nodeId}/share

Path Parameters

nodeId*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/string/share" \  -H "Content-Type: application/json" \  -d '{    "scope": "none"  }'
{  "nodeId": "string",  "scope": "none",  "capability": "read",  "hasPassword": true,  "expiresAt": "string",  "updatedAt": "string"}
DELETE
/api/v1/nodes/{nodeId}/share

Path Parameters

nodeId*string

Response Body

application/json

curl -X DELETE "https://example.com/api/v1/nodes/string/share"
{  "nodeId": "string",  "scope": "none",  "capability": "read",  "hasPassword": true,  "expiresAt": "string",  "updatedAt": "string"}
POST
/api/v1/nodes/icon/upload-urls

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/icon/upload-urls" \  -H "Content-Type: application/json" \  -d '{    "fileName": "string",    "mimeType": "string",    "sizeBytes": -9007199254740991,    "nodeId": "string"  }'
{  "uploadUrl": "string",  "storageKey": "string",  "publicUrl": "string",  "expiresIn": 0,  "duplicate": true,  "attachmentId": "string",  "assetId": "string"}
POST
/api/v1/nodes/icon/confirmations

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

curl -X POST "https://example.com/api/v1/nodes/icon/confirmations" \  -H "Content-Type: application/json" \  -d '{    "storageKey": "string",    "fileName": "string",    "mimeType": "string",    "sizeBytes": -9007199254740991,    "nodeId": "string"  }'
{  "success": true,  "attachmentId": "string",  "assetId": "string",  "storageKey": "string",  "publicUrl": "string"}