{"openapi":"3.0.3","info":{"title":"SHRLK Bio API","description":"Complete API reference for SHRLK Bio — the all-in-one link-in-bio, landing page, AI content, social scheduling, and digital product platform.","version":"2.2.1","contact":{"name":"SHRLK Bio Support","url":"https://shrlk-bio-app-web.vercel.app/"}},"externalDocs":{"description":"Full documentation","url":"https://shrlk-bio-app-web.vercel.app//docs"},"servers":[{"url":"https://shrlk-bio-app-web.vercel.app//api","description":"Production"},{"url":"http://localhost:3000/api","description":"Development"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"JWT token from login"}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}}},"User":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"username":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string","nullable":true},"plan":{"type":"string","enum":["FREE","STARTER","PRO","BUSINESS"]},"createdAt":{"type":"string","format":"date-time"}}},"Workspace":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"},"ownerId":{"type":"string","format":"uuid"},"plan":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}}},"Page":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"title":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string","enum":["bio","landing"]},"isPublished":{"type":"boolean"},"blocks":{"type":"array","items":{"type":"object"}},"designConfig":{"type":"object"},"seo":{"type":"object"},"createdAt":{"type":"string","format":"date-time"}}},"ShortLink":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"originalUrl":{"type":"string","format":"uri"},"shortCode":{"type":"string"},"clicks":{"type":"integer"},"isActive":{"type":"boolean"},"expiresAt":{"type":"string","format":"date-time","nullable":true}}},"Product":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"},"fileUrl":{"type":"string"},"coverImageUrl":{"type":"string","nullable":true},"isActive":{"type":"boolean"}}},"Flash":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"content":{"type":"string"},"imageUrl":{"type":"string","nullable":true},"reactions":{"type":"object"},"commentCount":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"}}},"Notification":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string"},"title":{"type":"string"},"message":{"type":"string"},"read":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"}}},"SocialPost":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"content":{"type":"string"},"platforms":{"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["draft","scheduled","published","failed"]},"scheduledAt":{"type":"string","format":"date-time","nullable":true}}},"WorkspaceMember":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"role":{"type":"string","enum":["owner","admin","editor","viewer"]},"status":{"type":"string","enum":["active","pending"]},"createdAt":{"type":"string","format":"date-time"}}},"AuditLog":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"action":{"type":"string"},"details":{"type":"object"},"createdAt":{"type":"string","format":"date-time"}}},"MediaItem":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"name":{"type":"string"},"url":{"type":"string"},"type":{"type":"string"},"size":{"type":"integer"},"createdAt":{"type":"string","format":"date-time"}}}}},"security":[{"bearerAuth":[]}],"paths":{"/auth/signup":{"post":{"tags":["Authentication"],"summary":"Create account","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","password","username"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":8},"username":{"type":"string","minLength":3},"displayName":{"type":"string"}}}}}},"responses":{"200":{"description":"Account created"},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Email or username taken","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/auth/login":{"post":{"tags":["Authentication"],"summary":"Sign in","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string","format":"email"},"password":{"type":"string"}}}}}},"responses":{"200":{"description":"Login successful","content":{"application/json":{"schema":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/User"},"accessToken":{"type":"string"},"refreshToken":{"type":"string"}}}}}},"401":{"description":"Invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/auth/logout":{"post":{"tags":["Authentication"],"summary":"Sign out","responses":{"200":{"description":"Logged out"}}}},"/auth/me":{"get":{"tags":["Authentication"],"summary":"Get current user","responses":{"200":{"description":"User data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"Not authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"tags":["Authentication"],"summary":"Update profile","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string"},"displayName":{"type":"string"},"avatarUrl":{"type":"string"}}}}}},"responses":{"200":{"description":"Profile updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}}}},"/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Refresh access token","security":[],"responses":{"200":{"description":"Token refreshed"}}}},"/auth/csrf":{"get":{"tags":["Authentication"],"summary":"Get CSRF token","security":[],"responses":{"200":{"description":"CSRF token","content":{"application/json":{"schema":{"type":"object","properties":{"csrfToken":{"type":"string"}}}}}}}}},"/auth/forgot-password":{"post":{"tags":["Authentication"],"summary":"Request password reset","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"Reset email sent if account exists"}}}},"/auth/reset-password":{"post":{"tags":["Authentication"],"summary":"Reset password with token","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["password","accessToken"],"properties":{"password":{"type":"string","minLength":8},"accessToken":{"type":"string"}}}}}},"responses":{"200":{"description":"Password reset"},"400":{"description":"Invalid or expired token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/auth/change-password":{"post":{"tags":["Authentication"],"summary":"Change password (logged in)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["currentPassword","newPassword"],"properties":{"currentPassword":{"type":"string"},"newPassword":{"type":"string","minLength":8}}}}}},"responses":{"200":{"description":"Password changed"}}}},"/auth/check-username":{"get":{"tags":["Authentication"],"summary":"Check username availability","security":[],"parameters":[{"name":"username","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Availability status","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"}}}}}}}}},"/auth/resend-verification":{"post":{"tags":["Authentication"],"summary":"Resend verification email","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"Verification email sent if account exists"}}}},"/auth/sessions":{"get":{"tags":["Authentication"],"summary":"List active sessions","responses":{"200":{"description":"Session list"}}}},"/auth/sessions/{sessionId}":{"delete":{"tags":["Authentication"],"summary":"Revoke a session","parameters":[{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Session revoked"}}}},"/auth/mfa/enroll":{"post":{"tags":["Authentication"],"summary":"Enroll in 2FA (TOTP)","responses":{"200":{"description":"TOTP secret and QR code"}}}},"/auth/mfa/verify":{"post":{"tags":["Authentication"],"summary":"Verify 2FA code","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}}}}},"responses":{"200":{"description":"Verified"}}}},"/auth/mfa/status":{"get":{"tags":["Authentication"],"summary":"Get 2FA enrollment status","responses":{"200":{"description":"MFA status"}}}},"/auth/mfa/unenroll":{"post":{"tags":["Authentication"],"summary":"Disable 2FA","responses":{"200":{"description":"2FA disabled"}}}},"/auth/data-export":{"post":{"tags":["Authentication"],"summary":"Export all account data (GDPR)","responses":{"200":{"description":"Data export"}}}},"/auth/delete-account":{"delete":{"tags":["Authentication"],"summary":"Permanently delete account","responses":{"200":{"description":"Account deleted"}}}},"/pages":{"get":{"tags":["Pages"],"summary":"List pages for workspace","parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Page list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Page"}}}}}}},"post":{"tags":["Pages"],"summary":"Create page","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["workspaceId","title","type"],"properties":{"workspaceId":{"type":"string"},"title":{"type":"string"},"slug":{"type":"string"},"type":{"type":"string","enum":["bio","landing"]},"template":{"type":"string"}}}}}},"responses":{"201":{"description":"Page created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}}}}},"/pages/{id}":{"get":{"tags":["Pages"],"summary":"Get page","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Page data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}}}},"patch":{"tags":["Pages"],"summary":"Update page","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"slug":{"type":"string"},"isPublished":{"type":"boolean"},"blocks":{"type":"array","items":{"type":"object"}},"designConfig":{"type":"object"},"seo":{"type":"object"}}}}}},"responses":{"200":{"description":"Page updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page"}}}}}},"delete":{"tags":["Pages"],"summary":"Delete page","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Page deleted"}}}},"/pages/reorder":{"post":{"tags":["Pages"],"summary":"Reorder pages","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pageIds"],"properties":{"pageIds":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Pages reordered"}}}},"/pages/check-slug":{"get":{"tags":["Pages"],"summary":"Check slug availability","parameters":[{"name":"slug","in":"query","required":true,"schema":{"type":"string"}},{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Availability","content":{"application/json":{"schema":{"type":"object","properties":{"available":{"type":"boolean"}}}}}}}}},"/page-access":{"post":{"tags":["Pages"],"summary":"Verify page password (public)","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pageId","password"],"properties":{"pageId":{"type":"string"},"password":{"type":"string"}}}}}},"responses":{"200":{"description":"Access granted"},"403":{"description":"Incorrect password","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"get":{"tags":["Pages"],"summary":"Get page visibility settings","parameters":[{"name":"pageId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Visibility settings"}}},"put":{"tags":["Pages"],"summary":"Update page visibility/password","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pageId"],"properties":{"pageId":{"type":"string"},"visibility":{"type":"string","enum":["public","unlisted","private"]},"password":{"type":"string","nullable":true}}}}}},"responses":{"200":{"description":"Updated"}}}},"/link-preview":{"get":{"tags":["Pages"],"summary":"Fetch URL metadata for link preview","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Link metadata","content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"image":{"type":"string"},"favicon":{"type":"string"}}}}}}}}},"/workspaces":{"get":{"tags":["Workspaces"],"summary":"List workspaces","responses":{"200":{"description":"Workspace list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Workspace"}}}}}}},"post":{"tags":["Workspaces"],"summary":"Create workspace","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}}}},"/workspaces/{id}":{"get":{"tags":["Workspaces"],"summary":"Get workspace","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}}},"patch":{"tags":["Workspaces"],"summary":"Update workspace","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"avatarUrl":{"type":"string"}}}}}},"responses":{"200":{"description":"Updated"}}},"delete":{"tags":["Workspaces"],"summary":"Delete workspace (owner only)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/workspaces/{id}/duplicate":{"post":{"tags":["Workspaces"],"summary":"Duplicate workspace","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Duplicated workspace","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Workspace"}}}}}}},"/workspaces/{id}/leave":{"post":{"tags":["Workspaces"],"summary":"Leave workspace","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Left workspace"}}}},"/workspaces/{id}/transfer":{"post":{"tags":["Workspaces"],"summary":"Transfer ownership","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["newOwnerId"],"properties":{"newOwnerId":{"type":"string"}}}}}},"responses":{"200":{"description":"Ownership transferred"}}}},"/workspaces/{id}/audit-logs":{"get":{"tags":["Workspaces"],"summary":"Get audit logs","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Audit logs","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AuditLog"}}}}}}},"post":{"tags":["Workspaces"],"summary":"Create audit log entry","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"properties":{"action":{"type":"string"},"details":{"type":"object"}}}}}},"responses":{"201":{"description":"Created"}}}},"/workspaces/{id}/members":{"get":{"tags":["Workspace Members"],"summary":"List members","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Members","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceMember"}}}}}}},"post":{"tags":["Workspace Members"],"summary":"Invite member","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","role"],"properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["admin","editor","viewer"]}}}}}},"responses":{"201":{"description":"Invitation sent"}}}},"/workspaces/{id}/members/{memberId}":{"patch":{"tags":["Workspace Members"],"summary":"Update member role","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["role"],"properties":{"role":{"type":"string","enum":["admin","editor","viewer"]}}}}}},"responses":{"200":{"description":"Role updated"}}},"delete":{"tags":["Workspace Members"],"summary":"Remove member","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Member removed"}}}},"/workspaces/{id}/members/{memberId}/resend":{"post":{"tags":["Workspace Members"],"summary":"Resend invitation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"memberId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Invitation resent"}}}},"/workspaces/{id}/shortlinks":{"get":{"tags":["Short Links"],"summary":"List workspace short links","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Short links","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShortLink"}}}}}}},"post":{"tags":["Short Links"],"summary":"Create short link","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["originalUrl"],"properties":{"originalUrl":{"type":"string","format":"uri"},"customCode":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShortLink"}}}}}},"put":{"tags":["Short Links"],"summary":"Bulk create short links","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["links"],"properties":{"links":{"type":"array","items":{"type":"object","properties":{"originalUrl":{"type":"string","format":"uri"},"customCode":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Bulk created"}}}},"/workspaces/{id}/shortlinks/{linkId}":{"get":{"tags":["Short Links"],"summary":"Get short link details","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Short link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShortLink"}}}}}},"patch":{"tags":["Short Links"],"summary":"Update short link","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Updated"}}},"delete":{"tags":["Short Links"],"summary":"Delete short link","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"linkId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/shortlinks/check-alias":{"get":{"tags":["Short Links"],"summary":"Check alias availability","parameters":[{"name":"alias","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Availability"}}}},"/r/{code}":{"get":{"tags":["Short Links"],"summary":"Redirect short link","security":[],"parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to original URL"},"404":{"description":"Not found or expired"}}}},"/workspaces/{id}/media":{"get":{"tags":["Workspace Media"],"summary":"List workspace media","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Media items","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MediaItem"}}}}}}},"post":{"tags":["Workspace Media"],"summary":"Upload media","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Uploaded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaItem"}}}}}},"patch":{"tags":["Workspace Media"],"summary":"Rename media item","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["mediaId","name"],"properties":{"mediaId":{"type":"string"},"name":{"type":"string"}}}}}},"responses":{"200":{"description":"Renamed"}}},"delete":{"tags":["Workspace Media"],"summary":"Delete media item","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/workspaces/{id}/media/signed-url":{"post":{"tags":["Workspace Media"],"summary":"Get signed upload URL","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["fileName","contentType"],"properties":{"fileName":{"type":"string"},"contentType":{"type":"string"}}}}}},"responses":{"200":{"description":"Signed URL","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"key":{"type":"string"}}}}}}}}},"/workspaces/{id}/media/upload-base64":{"post":{"tags":["Workspace Media"],"summary":"Upload base64 media","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["data","fileName"],"properties":{"data":{"type":"string"},"fileName":{"type":"string"},"contentType":{"type":"string"}}}}}},"responses":{"200":{"description":"Uploaded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaItem"}}}}}}},"/vault/products":{"get":{"tags":["Vault"],"summary":"List products","parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Product list","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Product"}}}}}}},"post":{"tags":["Vault"],"summary":"Create product","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","price","workspaceId"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"price":{"type":"number"},"currency":{"type":"string"},"workspaceId":{"type":"string"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}}}}},"/vault/products/{id}":{"get":{"tags":["Vault"],"summary":"Get product","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Product","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}}}},"patch":{"tags":["Vault"],"summary":"Update product","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Updated"}}},"delete":{"tags":["Vault"],"summary":"Delete product","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/vault/checkout":{"post":{"tags":["Vault"],"summary":"Create checkout session","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["productId"],"properties":{"productId":{"type":"string"},"email":{"type":"string","format":"email"}}}}}},"responses":{"200":{"description":"Checkout URL","content":{"application/json":{"schema":{"type":"object","properties":{"checkoutUrl":{"type":"string"}}}}}}}},"get":{"tags":["Vault"],"summary":"Get order status","security":[],"parameters":[{"name":"orderId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Order status"}}}},"/vault/checkout/complete":{"post":{"tags":["Vault"],"summary":"Complete checkout callback","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["orderId"],"properties":{"orderId":{"type":"string"}}}}}},"responses":{"200":{"description":"Checkout completed"}}}},"/vault/download/{token}":{"get":{"tags":["Vault"],"summary":"Download purchased product","security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"File download"},"404":{"description":"Invalid or expired token"}}}},"/vault/download/{token}/count":{"post":{"tags":["Vault"],"summary":"Track download count","security":[],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Download counted"}}}},"/flash":{"get":{"tags":["Flashes"],"summary":"List flashes","security":[],"parameters":[{"name":"userId","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Flashes","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Flash"}}}}}}},"post":{"tags":["Flashes"],"summary":"Create flash","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"imageUrl":{"type":"string"},"pageId":{"type":"string"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}}}}},"/flash/{id}":{"get":{"tags":["Flashes"],"summary":"Get flash","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Flash","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}}}},"patch":{"tags":["Flashes"],"summary":"Edit flash (owner only)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string"},"imageUrl":{"type":"string"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Flash"}}}}}},"delete":{"tags":["Flashes"],"summary":"Delete flash","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/flash/{id}/react":{"post":{"tags":["Flashes"],"summary":"React to flash","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["emoji"],"properties":{"emoji":{"type":"string"}}}}}},"responses":{"200":{"description":"Reacted"}}}},"/flash/{id}/comments":{"get":{"tags":["Flashes"],"summary":"Get comments","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Comments"}}},"post":{"tags":["Flashes"],"summary":"Add comment","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["content"],"properties":{"content":{"type":"string"}}}}}},"responses":{"201":{"description":"Comment added"}}}},"/flash/{id}/vote":{"post":{"tags":["Flashes"],"summary":"Vote on flash","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["direction"],"properties":{"direction":{"type":"string","enum":["up","down"]}}}}}},"responses":{"200":{"description":"Voted"}}}},"/flash/{id}/view":{"post":{"tags":["Flashes"],"summary":"Track flash view","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"View tracked"}}}},"/flash/{id}/report":{"post":{"tags":["Flashes"],"summary":"Report flash","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["reason"],"properties":{"reason":{"type":"string"}}}}}},"responses":{"200":{"description":"Reported"}}}},"/posts":{"get":{"tags":["Social Posts"],"summary":"List scheduled posts","parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Posts","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SocialPost"}}}}}}},"post":{"tags":["Social Posts"],"summary":"Create/schedule post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["content","platforms"],"properties":{"content":{"type":"string"},"platforms":{"type":"array","items":{"type":"string"}},"scheduledAt":{"type":"string","format":"date-time"},"imageUrl":{"type":"string"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPost"}}}}}},"patch":{"tags":["Social Posts"],"summary":"Update a post","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content":{"type":"string"},"platforms":{"type":"array","items":{"type":"string"}},"scheduledAt":{"type":"string","format":"date-time"}}}}}},"responses":{"200":{"description":"Updated"}}},"delete":{"tags":["Social Posts"],"summary":"Delete a post","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Deleted"}}}},"/posts/publish":{"post":{"tags":["Social Posts"],"summary":"Publish post immediately","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["postId"],"properties":{"postId":{"type":"string"}}}}}},"responses":{"200":{"description":"Published"}}}},"/integrations":{"get":{"tags":["Social Posts"],"summary":"List connected social accounts","responses":{"200":{"description":"Connected accounts"}}},"post":{"tags":["Social Posts"],"summary":"Connect a tool integration","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"config":{"type":"object"}}}}}},"responses":{"201":{"description":"Integration connected"}}},"delete":{"tags":["Social Posts"],"summary":"Disconnect an integration","parameters":[{"name":"id","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Disconnected"}}}},"/oauth/{provider}":{"get":{"tags":["OAuth"],"summary":"Initiate OAuth connection","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect to provider authorization page"}}}},"/oauth/{provider}/callback":{"get":{"tags":["OAuth"],"summary":"OAuth callback handler","security":[],"parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}},{"name":"code","in":"query","required":true,"schema":{"type":"string"}},{"name":"state","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect after successful authorization"}}}},"/oauth/{provider}/disconnect":{"delete":{"tags":["OAuth"],"summary":"Disconnect OAuth provider","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Provider disconnected"}}}},"/generate-text":{"post":{"tags":["AI Generation"],"summary":"Generate text (bio, headline, CTA)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"},"type":{"type":"string","enum":["bio","headline","description","cta"]},"tone":{"type":"string","enum":["professional","casual","playful","formal"]}}}}}},"responses":{"200":{"description":"Generated text","content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string"}}}}}},"403":{"description":"Plan limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/generate-image":{"post":{"tags":["AI Generation"],"summary":"Generate image from prompt","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"},"style":{"type":"string","enum":["realistic","artistic","minimal","abstract"]}}}}}},"responses":{"200":{"description":"Image URL","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}}},"403":{"description":"Plan limit reached","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/generate-video":{"post":{"tags":["AI Generation"],"summary":"Generate short video","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"}}}}}},"responses":{"200":{"description":"Video URL","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}}}}}},"/generate-speech":{"post":{"tags":["AI Generation"],"summary":"Text-to-speech","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text"],"properties":{"text":{"type":"string"},"voice":{"type":"string"}}}}}},"responses":{"200":{"description":"Audio URL","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}}}}}},"/ai/landing-builder":{"post":{"tags":["AI Generation"],"summary":"AI-generate landing page","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["description"],"properties":{"description":{"type":"string"},"style":{"type":"string"}}}}}},"responses":{"200":{"description":"Generated page blocks"}}}},"/ai/rewrite-bio":{"post":{"tags":["AI Generation"],"summary":"AI-rewrite bio text","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["bio"],"properties":{"bio":{"type":"string"},"tone":{"type":"string"}}}}}},"responses":{"200":{"description":"Rewritten bio"}}}},"/ai/check-links":{"post":{"tags":["AI Generation"],"summary":"Check for broken links","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pageId"],"properties":{"pageId":{"type":"string"}}}}}},"responses":{"200":{"description":"Link check results"}}}},"/ai/fan-agent/chat":{"post":{"tags":["AI Generation"],"summary":"Chat with AI fan agent","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["message","pageId"],"properties":{"message":{"type":"string"},"pageId":{"type":"string"},"history":{"type":"array","items":{"type":"object"}}}}}}},"responses":{"200":{"description":"AI response"}}}},"/ai/fan-agent/settings":{"get":{"tags":["AI Generation"],"summary":"Get fan agent settings","responses":{"200":{"description":"Settings"}}},"put":{"tags":["AI Generation"],"summary":"Update fan agent settings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"greeting":{"type":"string"},"personality":{"type":"string"}}}}}},"responses":{"200":{"description":"Updated"}}}},"/ai/generate-flashes":{"post":{"tags":["AI Generation"],"summary":"AI-generate flash content","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"topic":{"type":"string"}}}}}},"responses":{"200":{"description":"Generated flash"}}}},"/ai/generate-profile":{"post":{"tags":["AI Generation"],"summary":"AI-generate profile content","responses":{"200":{"description":"Generated profile"}}}},"/analytics/workspace/{workspaceId}/stats":{"get":{"tags":["Analytics"],"summary":"Workspace analytics summary","parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","enum":["7d","30d","90d","all"]}}],"responses":{"200":{"description":"Analytics","content":{"application/json":{"schema":{"type":"object","properties":{"totalViews":{"type":"integer"},"uniqueSessions":{"type":"integer"},"botViews":{"type":"integer"}}}}}}}}},"/analytics/workspace/{workspaceId}/daily":{"get":{"tags":["Analytics"],"summary":"Daily analytics data","parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Daily data"}}}},"/analytics/workspace/{workspaceId}/breakdown":{"get":{"tags":["Analytics"],"summary":"Device/browser/country/referrer breakdown","parameters":[{"name":"workspaceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Breakdown data"}}}},"/analytics/stats":{"get":{"tags":["Analytics"],"summary":"Global analytics summary","responses":{"200":{"description":"Analytics stats"}}}},"/analytics/track":{"post":{"tags":["Analytics"],"summary":"Track page view (edge runtime)","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pageId"],"properties":{"pageId":{"type":"string"},"linkId":{"type":"string"},"workspaceId":{"type":"string"}}}}}},"responses":{"200":{"description":"Tracked"}}}},"/users/{id}":{"get":{"tags":["Users & Community"],"summary":"Get user profile","security":[],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"User profile"}}}},"/users/{id}/follow":{"post":{"tags":["Users & Community"],"summary":"Follow/unfollow user","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Follow toggled"}}}},"/users/search":{"get":{"tags":["Users & Community"],"summary":"Search users","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Search results"}}}},"/explore":{"get":{"tags":["Users & Community"],"summary":"Discover trending creators","security":[],"responses":{"200":{"description":"Explore feed"}}}},"/notifications":{"get":{"tags":["Notifications"],"summary":"Get notifications","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"}},{"name":"count","in":"query","required":false,"schema":{"type":"string","enum":["true"]}}],"responses":{"200":{"description":"Notifications","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}}}}}}},"post":{"tags":["Notifications"],"summary":"Create notification","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["title","message"],"properties":{"title":{"type":"string"},"message":{"type":"string"},"type":{"type":"string","enum":["info","success","warning","error"]}}}}}},"responses":{"201":{"description":"Created"}}},"patch":{"tags":["Notifications"],"summary":"Mark as read","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"notificationId":{"type":"string"},"markAllRead":{"type":"boolean"}}}}}},"responses":{"200":{"description":"Updated"}}},"delete":{"tags":["Notifications"],"summary":"Delete notifications","parameters":[{"name":"id","in":"query","required":false,"schema":{"type":"string"}},{"name":"all","in":"query","required":false,"schema":{"type":"string","enum":["true"]}}],"responses":{"200":{"description":"Deleted"}}}},"/subscriptions/checkout":{"post":{"tags":["Subscriptions"],"summary":"Create Paddle checkout","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["planId"],"properties":{"planId":{"type":"string"}}}}}},"responses":{"200":{"description":"Checkout URL"}}}},"/subscriptions/manage":{"get":{"tags":["Subscriptions"],"summary":"Get current subscription status","responses":{"200":{"description":"Subscription status"}}},"post":{"tags":["Subscriptions"],"summary":"Manage subscription (cancel, pause, resume)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["cancel","pause","resume"]}}}}}},"responses":{"200":{"description":"Action processed"}}}},"/invitations/pending":{"get":{"tags":["Invitations"],"summary":"Get pending invitations","responses":{"200":{"description":"Pending invitations"}}}},"/invitations/{id}":{"patch":{"tags":["Invitations"],"summary":"Accept or decline invitation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["action"],"properties":{"action":{"type":"string","enum":["accept","decline"]}}}}}},"responses":{"200":{"description":"Invitation processed"}}}},"/upload":{"post":{"tags":["Media"],"summary":"Upload file (generic)","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Upload result","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"}}}}}}}}},"/stock-photos":{"get":{"tags":["Media"],"summary":"Search Unsplash photos","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Photo results"}}}},"/system-media":{"get":{"tags":["Media"],"summary":"Browse system media library","security":[],"responses":{"200":{"description":"System media"}}}},"/newsletter/subscribe":{"post":{"tags":["Newsletter"],"summary":"Subscribe to newsletter","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"pageId":{"type":"string"}}}}}},"responses":{"200":{"description":"Subscribed"}}}},"/safety/moderate":{"post":{"tags":["Safety"],"summary":"Submit content for moderation","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["content"],"properties":{"content":{"type":"string"},"type":{"type":"string","enum":["text","image","url"]}}}}}},"responses":{"200":{"description":"Moderation result"}}},"get":{"tags":["Safety"],"summary":"Check if user is banned","responses":{"200":{"description":"Ban status","content":{"application/json":{"schema":{"type":"object","properties":{"banned":{"type":"boolean"}}}}}}}}},"/import/scrape":{"post":{"tags":["Import"],"summary":"Scrape & import competitor bio page","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}}}}}},"responses":{"200":{"description":"Imported page data"}}}},"/activity":{"get":{"tags":["Activity"],"summary":"Get workspace activity feed","parameters":[{"name":"workspaceId","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Activity feed"}}}},"/support":{"post":{"tags":["Support"],"summary":"Submit support ticket","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["subject","message"],"properties":{"subject":{"type":"string"},"message":{"type":"string"},"category":{"type":"string"}}}}}},"responses":{"200":{"description":"Ticket created"}}}},"/support/upload":{"post":{"tags":["Support"],"summary":"Upload support ticket attachment","requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}}}}},"responses":{"200":{"description":"Upload result"}}}},"/help-content":{"get":{"tags":["Support"],"summary":"Get help articles","security":[],"responses":{"200":{"description":"Help content"}}}},"/search":{"get":{"tags":["Search"],"summary":"Global search","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Search results"}}}},"/maintenance":{"get":{"tags":["System"],"summary":"Check maintenance mode","security":[],"responses":{"200":{"description":"Maintenance status","content":{"application/json":{"schema":{"type":"object","properties":{"maintenanceMode":{"type":"boolean"}}}}}}}}}},"tags":[{"name":"Authentication","description":"Account, sessions, MFA, and password management"},{"name":"Pages","description":"Bio and landing page CRUD, access control, and link previews"},{"name":"Workspaces","description":"Workspace CRUD, duplication, transfer, and audit logs"},{"name":"Workspace Members","description":"Invite, manage, and remove workspace members"},{"name":"Short Links","description":"Workspace-scoped URL shortener with analytics"},{"name":"Workspace Media","description":"Workspace media library management"},{"name":"Vault","description":"Digital product sales and downloads"},{"name":"Flashes","description":"Short-form posts with reactions and comments"},{"name":"Social Posts","description":"Social media scheduling and publishing"},{"name":"AI Generation","description":"AI text, image, video, speech, and page generation"},{"name":"Analytics","description":"Page view analytics and breakdowns"},{"name":"Users & Community","description":"Profiles, following, and discovery"},{"name":"Notifications","description":"In-app notifications"},{"name":"Subscriptions","description":"Plan management via Paddle"},{"name":"OAuth","description":"Social account OAuth connections"},{"name":"Invitations","description":"Workspace invitation management"},{"name":"Media","description":"File uploads and stock photos"},{"name":"Newsletter","description":"Email subscriptions"},{"name":"Safety","description":"Content moderation and ban checking"},{"name":"Import","description":"Import from competitor platforms"},{"name":"Activity","description":"Workspace activity feed"},{"name":"Support","description":"Help center and support tickets"},{"name":"Search","description":"Global search"},{"name":"System","description":"System status endpoints"}]}