Skip a legacy workspace restore claim
Declines an offered restore and reports the outcome: dismissed, the workspace deleted, or ownership transferred to another legacy member. Requires a Clerk session whose verified email matches the claim. An unknown or non-matching claim is not found and an offer already resolved another way is a conflict; skipping one that was already skipped or deleted returns the recorded outcome again.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/me/legacy-workspace-claims/string/skip"{ "data": { "claimId": "string", "workspaceId": "string", "outcome": "dismissed", "transferredOwnerUserId": "string" }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Accept a legacy workspace restore claim
Claims the restored workspace behind an offer for the caller and returns the resulting workspace summary. Requires a Clerk session whose verified email matches the claim, checked without the profile cache, and the legacy-restore feature must be enabled. An unknown, blocked, or non-matching claim is not found; a workspace that is not activated yet, an offer already resolved, and a legacy identity already claimed by another account are all conflicts. Re-accepting a claim the caller already accepted returns the same workspace.
Draft a workspace from a description
Turns the caller's description of how they work into a proposed plan: a headline plus a shallow tree of folders, databases, pages, dashboards, and intake forms. The plan is a proposal only — nothing is created until an approved copy is applied to a workspace. Open to any authenticated caller because it runs before a workspace exists; the description is length-bounded and anything outside those bounds is a validation error.