Loading...
Loading...
Create, list, update, delete, and share projects in Spuree, including browsing project contents
npx skill4agent add cheehoolabs/spureeskills project-managementsessionTypecreative_projectsessionAuthorization: Bearer $SPUREE_ACCESS_TOKENX-API-Key: $SPUREE_API_KEYhttps://data.spuree.com/api/v1/projectsProject
├── Folder (see folder-management skill)
│ ├── Sub-folder
│ ├── Entity (asset) character, motion, prop, environment, visdev, pose
│ │ └── Files
│ └── Files
├── Entity (asset)
│ └── Files
└── Files| Parameter | Type | Default | Description |
|---|---|---|---|
| string | | Sort field: |
| string | | Sort order: |
| integer | 500 | Results per page (1–1000) |
| integer | 0 | Items to skip |
{
"projects": [
{
"id": "...", "name": "My Project", "description": "...",
"workspaceId": "...", "createdBy": "user@example.com",
"sharedWith": ["collaborator@example.com"],
"status": "active", "visibility": "private",
"createdAt": "...", "updatedAt": "..."
}
],
"workspaces": { "{workspaceId}": { "id": "...", "name": "...", "organizationId": "..." } },
"organizations": { "{orgId}": { "id": "...", "name": "..." } },
"total": 12, "limit": 500, "offset": 0
}workspaces[project.workspaceId]organizations[workspace.organizationId]curl "https://data.spuree.com/api/v1/projects" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"workspaceIduser.workspaces[].workspaceIdGET /v1/projects| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Project name |
| string | Yes | Workspace ObjectId |
| string | No | Project description |
| string[] | No | Emails to share with |
{ messageCode, message, projectId }| Code | Description |
|---|---|
| 201 | Created |
| 403 | Not a workspace member |
| 409 | Name already exists in workspace |
curl -X POST "https://data.spuree.com/api/v1/projects" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "My New Project", "workspaceId": "..."}'| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | New project name |
{ messageCode, message, projectId }curl -X PATCH "https://data.spuree.com/api/v1/projects/{projectId}" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Renamed Project"}'{ messageCode, message, projectId }curl -X DELETE "https://data.spuree.com/api/v1/projects/{projectId}" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"GET /v1/sessions/{folderId}/children| Parameter | Type | Default | Description |
|---|---|---|---|
| integer | 100 | Results per category (max 500) |
| integer | 0 | Items to skip |
{ sessions: [...], entities: [...], files: [...] }sessionssessionType: "session"entitiesfilescurl "https://data.spuree.com/api/v1/projects/{projectId}/children" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"type: "direct"type: "invitation"| Field | Type | Required | Description |
|---|---|---|---|
| string | Yes | Target user's email |
{ messageCode, message, projectId, type }| Code | Description |
|---|---|
| 200 | Shared or invitation created |
| 400 | Cannot share with owner |
| 409 | Already shared or invitation pending |
curl -X POST "https://data.spuree.com/api/v1/projects/{projectId}/share" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"email": "collaborator@example.com"}'{ messageCode, message, projectId }curl -X DELETE "https://data.spuree.com/api/v1/projects/{projectId}/share/{email}" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ owner: "owner@example.com", sharedWith: ["..."] }curl "https://data.spuree.com/api/v1/projects/{projectId}/share" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ messageCode, message, projectId }curl -X POST "https://data.spuree.com/api/v1/projects/{projectId}/leave" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"GET /v1/projectsGET /v1/projects/{id}/childrenGET /v1/sessions/{folderId}/children| Resource | URL Pattern |
|---|---|
| Project | |
| Folder (top-level) | |
| Folder (nested) | |
| File | |
| Code | Cause | Resolution |
|---|---|---|
| 400 | Invalid name (filesystem chars) or malformed ObjectId | Use Windows-compatible names, 24-char hex IDs |
| 401 | Expired or invalid token | Refresh via authentication skill |
| 403 | Not a workspace member or project owner | Check user permissions |
| 409 | Name conflict or duplicate share | Use different name or check existing shares |