Loading...
Loading...
Manage project sharing invitations in Spuree — list, accept, decline, cancel, and resend invitations for non-workspace members
npx skill4agent add cheehoolabs/spureeskills project-invitationDirect sharing (target is already a workspace member) is handled immediately byin the project-management skill — no invitation is created.POST /v1/projects/{projectId}/share
Authorization: Bearer $SPUREE_ACCESS_TOKENX-API-Key: $SPUREE_API_KEYhttps://data.spuree.com/api/v1/projects{
"id": "64a7b8c9d1e2f3a4b5c6d7e8",
"projectId": "64a7b8c9d1e2f3a4b5c6d7e9",
"projectName": "My Animation Project",
"workspaceId": "64a7b8c9d1e2f3a4b5c6d7f0",
"invitedEmail": "new-user@example.com",
"invitedBy": "owner@example.com",
"status": "pending",
"createdAt": "2024-01-15T10:00:00Z",
"expiresAt": "2024-01-22T10:00:00Z"
}| Field | Type | Description |
|---|---|---|
| string | Invitation ObjectId |
| string | Project ObjectId |
| string? | Project name |
| string | Workspace ObjectId |
| string | Invited user's email |
| string | Inviter's email |
| string | |
| datetime | Creation timestamp |
| datetime | Expiration (7 days after creation or last resend) |
{ "invitations": [ InvitationObject, ... ] }curl "https://data.spuree.com/api/v1/projects/invitations/pending" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"sharedWith{
"messageCode": "success",
"projectId": "...",
"projectName": "My Animation Project",
"workspaceId": "..."
}| Code | Description |
|---|---|
| 200 | Accepted — user added to project and workspace |
| 403 | Token does not belong to the authenticated user |
| 404 | Invitation not found or expired |
curl -X POST "https://data.spuree.com/api/v1/projects/invitations/{token}/accept" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ "messageCode": "success", "projectId": "..." }curl -X POST "https://data.spuree.com/api/v1/projects/invitations/{token}/decline" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ "invitations": [ InvitationObject, ... ] }curl "https://data.spuree.com/api/v1/projects/{projectId}/invitations" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ "messageCode": "success", "projectId": "..." }curl -X DELETE "https://data.spuree.com/api/v1/projects/{projectId}/invitations/{invitationId}" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"{ "messageCode": "success", "projectId": "..." }curl -X POST "https://data.spuree.com/api/v1/projects/{projectId}/invitations/{invitationId}/resend" \
-H "Authorization: Bearer $SPUREE_ACCESS_TOKEN"POST /v1/projects/{id}/share { "email": "new-user@example.com" }
→ { type: "invitation", projectId: "..." }GET /v1/projects/invitations/pendingPOST /v1/projects/invitations/{token}/accept| Code | Description |
|---|---|
| 200 | Success |
| 400 | Invalid token or ID format |
| 401 | Invalid or expired auth token |
| 403 | Not authorized (wrong user, not owner/inviter) |
| 404 | Invitation not found, expired, or already actioned |
| 409 | Invitation already pending for this user |
| 500 | Internal server error |