File Trees
Skills, Drives, and AirApps — node types whose content is an Asset-backed file tree, served by one surface discriminated by `type`.
curl -X GET "https://example.com/api/v1/file-trees/preview-config"{ "provider": "builtin", "status": "ready", "credentialSource": "environment", "credentialConfigured": true, "maxFileSizeBytes": -9007199254740991, "sessionTtlMinutes": -9007199254740991, "vaultEncryptionConfigured": true}Path Parameters
1 <= lengthRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/file-trees/string/preview" \ -H "Content-Type: application/json" \ -d '{ "filePath": "string", "type": "drive" }'{ "state": "builtin", "provider": "builtin"}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/file-trees" \ -H "Content-Type: application/json" \ -d '{ "slug": "string", "name": "string", "type": "skill" }'{ "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 }, "entryFile": "string", "visibility": "private", "version": "string", "files": [ { "path": "string", "name": "string", "size": 0, "updatedAt": "string", "mimeType": "string", "assetId": "string", "displayName": "string" } ], "skippedGitignorePaths": [], "materialized": true}Path Parameters
A node id OR a slug. A slug is only unique WITHIN a type, so pass type alongside one; a node id needs no hint.
Query Parameters
Disambiguates a slug. Unnecessary — and ignored — when nodeId is an id.
Value in
- "skill"
- "drive"
- "airapp"
Response Body
application/json
curl -X GET "https://example.com/api/v1/file-trees/string/files"[ { "path": "string", "name": "string", "size": 0, "updatedAt": "string", "mimeType": "string", "assetId": "string", "displayName": "string" }]Path Parameters
A node id OR a slug. A slug is only unique WITHIN a type, so pass type alongside one; a node id needs no hint.
Query Parameters
Disambiguates a slug. Unnecessary — and ignored — when nodeId is an id.
Value in
- "skill"
- "drive"
- "airapp"
Response Body
application/json
curl -X GET "https://example.com/api/v1/file-trees/string/files/string"{ "nodeId": "string", "path": "string", "encoding": "utf8", "content": "string", "mimeType": "string", "assetId": "string", "displayName": "string", "assetUrl": "string", "contentHash": "string"}Path Parameters
A node id OR a slug. A slug is only unique WITHIN a type, so pass type alongside one; a node id needs no hint.
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/file-trees/string/change-requests" \ -H "Content-Type: application/json" \ -d '{ "operations": [ { "kind": "create", "path": "string", "assetId": "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" } ]}