{"openapi":"3.1.1","info":{"title":"ForumSDK API v2","version":"2.1.19","description":"The V2 API for ForumSDK, featuring granular permissions, subresources, and enhanced type safety.","license":{"name":"MIT","url":"https://opensource.org/licenses/MIT"},"contact":{"name":"ForumSDK","url":"https://forumsdk.com"}},"tags":[{"name":"Auth","description":"Operations for auth"},{"name":"Search","description":"Operations for search"},{"name":"Tags","description":"Operations for tags"},{"name":"Threads","description":"Operations for threads"},{"name":"Posts","description":"Operations for posts"},{"name":"Private Messages","description":"Operations for private messages"},{"name":"Users","description":"Operations for users"},{"name":"Roles","description":"Operations for roles"},{"name":"Reports","description":"Operations for reports"},{"name":"Notifications","description":"Operations for notifications"},{"name":"Webhooks","description":"Operations for webhooks"},{"name":"Integrations","description":"Operations for integrations"},{"name":"SSOs","description":"Operations for sso"},{"name":"Provisioning","description":"Platform-level instance management using your provisioning key"}],"servers":[{"url":"https://api.forumsdk.com/v2","description":"Production"}],"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ErrorResponse":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"nullable":true}},"required":["code","message"]}},"required":["error"]},"SuccessResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]},"Auth":{"type":"object","properties":{}},"AuthResponse":{"type":"object","properties":{"data":{"type":"object","properties":{}}},"required":["data"]},"AuthListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{}}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"RegisterResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"token":{"type":"string","description":"JWT token for authenticated requests"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Registered user profile"}},"required":["token","user"]}},"required":["data"]},"LoginResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"token":{"type":"string","description":"JWT token for authenticated requests"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Authenticated user profile"}},"required":["token","user"]}},"required":["data"]},"MeResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]}},"required":["data"]},"Forgot-passwordResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"message":{"type":"string"},"resetToken":{"type":"string"}},"required":["message"]}},"required":["data"]},"Reset-passwordResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"]}},"required":["data"]},"Search":{"type":"object","properties":{}},"SearchResponse":{"type":"object","properties":{"data":{"type":"object","properties":{}}},"required":["data"]},"SearchListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{}}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"TagCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["name"]},"TagUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}},"TagList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"search":{"type":"string","description":"Search tags by name or description"}}},"Tag":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Tag creation timestamp"},"updatedAt":{"type":"string","description":"Tag last update timestamp"}},"required":["name","id","createdAt","updatedAt"]},"TagResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Tag creation timestamp"},"updatedAt":{"type":"string","description":"Tag last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}}},"TagListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Tag creation timestamp"},"updatedAt":{"type":"string","description":"Tag last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"TagSubscriberCreate":{"type":"object","properties":{"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Optional custom data"}}},"TagSubscriber":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"tagId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","tagId","createdAt"]},"TagSubscriberResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"tagId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","tagId","createdAt"]}},"required":["data"]},"TagSubscriberListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"tagId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","tagId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"ThreadCreate":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"List of tag slugs, names, or IDs to attach"},"poll":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Poll title"},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"color":{"type":"string"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}}},"required":["title"]},"minItems":2,"description":"Poll options"}},"required":["title","options"],"description":"Poll data"},"locked":{"type":"boolean","description":"Lock thread on creation"},"pinned":{"type":"boolean","description":"Pin thread on creation"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["title","body"]},"ThreadUpdate":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"New title"},"body":{"type":"string","minLength":1,"description":"New content"},"locked":{"type":"boolean","description":"Lock/unlock thread"},"pinned":{"type":"boolean","description":"Pin/unpin thread"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"Update tags by slug, name, or ID"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}},"ThreadList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"search":{"type":"string","description":"Search term for title"},"tagId":{"type":"string","description":"Filter by tag ID"},"userId":{"type":"string","description":"Filter by author ID"},"sort":{"type":"string","enum":["newest","oldest","activity"],"default":"newest","description":"Sort criteria"}}},"Thread":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"}},"required":["name","id"]},"description":"Thread tags"},"poll":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"],"description":"Thread poll"},"locked":{"type":"boolean","nullable":true,"description":"Whether thread is locked"},"pinned":{"type":"boolean","nullable":true,"description":"Whether thread is pinned"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom metadata"},"id":{"type":"string"},"slug":{"type":"string","nullable":true,"description":"URL-friendly identifier"},"views":{"type":"integer","description":"View count"},"postsCount":{"type":"integer","description":"Number of posts/replies"},"lastPostAt":{"type":"string","nullable":true,"description":"Timestamp of the last post"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Thread author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Thread reactions"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["title","body","locked","pinned","extendedData","id","slug","views","postsCount","lastPostAt","createdAt","updatedAt"]},"ThreadResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"}},"required":["name","id"]},"description":"Thread tags"},"poll":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"],"description":"Thread poll"},"locked":{"type":"boolean","nullable":true,"description":"Whether thread is locked"},"pinned":{"type":"boolean","nullable":true,"description":"Whether thread is pinned"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom metadata"},"id":{"type":"string"},"slug":{"type":"string","nullable":true,"description":"URL-friendly identifier"},"views":{"type":"integer","description":"View count"},"postsCount":{"type":"integer","description":"Number of posts/replies"},"lastPostAt":{"type":"string","nullable":true,"description":"Timestamp of the last post"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Thread author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Thread reactions"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["title","body","locked","pinned","extendedData","id","slug","views","postsCount","lastPostAt","createdAt","updatedAt"]}}},"ThreadListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"}},"required":["name","id"]},"description":"Thread tags"},"poll":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"],"description":"Thread poll"},"locked":{"type":"boolean","nullable":true,"description":"Whether thread is locked"},"pinned":{"type":"boolean","nullable":true,"description":"Whether thread is pinned"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom metadata"},"id":{"type":"string"},"slug":{"type":"string","nullable":true,"description":"URL-friendly identifier"},"views":{"type":"integer","description":"View count"},"postsCount":{"type":"integer","description":"Number of posts/replies"},"lastPostAt":{"type":"string","nullable":true,"description":"Timestamp of the last post"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Thread author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Thread reactions"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["title","body","locked","pinned","extendedData","id","slug","views","postsCount","lastPostAt","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"ThreadPost":{"type":"object","properties":{"id":{"type":"string"},"threadId":{"type":"string"},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"}},"required":["reactions"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","threadId","userId","body","depth","createdAt","updatedAt"]},"ThreadPostResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"threadId":{"type":"string"},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"}},"required":["reactions"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","threadId","userId","body","depth","createdAt","updatedAt"]}},"required":["data"]},"ThreadPostListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"threadId":{"type":"string"},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"}},"required":["reactions"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","threadId","userId","body","depth","createdAt","updatedAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"ThreadReactionCreate":{"type":"object","properties":{"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"],"description":"Type of reaction"},"userId":{"type":"string","format":"uuid","description":"User ID (required for API key auth, ignored for JWT auth)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["type"]},"ThreadReaction":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]},"ThreadReactionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"required":["data"]},"ThreadReactionListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"ThreadSubscriberCreate":{"type":"object","properties":{"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Optional custom data"}}},"ThreadSubscriber":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"threadId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","threadId","createdAt"]},"ThreadSubscriberResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"threadId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","threadId","createdAt"]}},"required":["data"]},"ThreadSubscriberListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"threadId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","threadId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"ThreadPollCreate":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200,"description":"Poll question/title"},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":100,"description":"Option text"},"color":{"type":"string","description":"Optional color for display"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["title"]},"minItems":2,"maxItems":20,"description":"Poll options (2-20)"},"expiresAt":{"type":"string","format":"date-time","description":"Optional expiration time"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["title","options"]},"ThreadPoll":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"]},"ThreadPollResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"]}},"required":["data"]},"ThreadPollListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"PollVoteResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"pollId":{"type":"string","format":"uuid"},"optionId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","pollId","optionId","userId","createdAt"]}},"required":["data"]},"PollVotesListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"pollId":{"type":"string","format":"uuid"},"optionId":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","pollId","optionId","userId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"PostCreate":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}}},"required":["threadId","body"]},"PostUpdate":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"Updated post content"},"threadId":{"type":"string","format":"uuid","description":"Move post to another thread"},"parentId":{"type":"string","format":"uuid","description":"Change parent post"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}},"PostList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"threadId":{"type":"string","format":"uuid","description":"Filter posts by thread ID"},"userId":{"type":"string","description":"Filter posts by author ID"},"sort":{"type":"string","enum":["newest","oldest"],"default":"newest","description":"Sort posts by creation time"},"search":{"type":"string","description":"Search within post body"},"type":{"type":"string","enum":["created","liked","disliked","upvoted","downvoted"],"default":"created","description":"Filter by interaction type"}}},"Post":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}},"id":{"type":"string"},"depth":{"type":"integer","nullable":true,"description":"Nesting level for threaded replies"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Post author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Post reactions"},"createdAt":{"type":"string","description":"Post creation timestamp"},"updatedAt":{"type":"string","description":"Post last update timestamp"}},"required":["threadId","body","id","depth","createdAt","updatedAt"]},"PostResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}},"id":{"type":"string"},"depth":{"type":"integer","nullable":true,"description":"Nesting level for threaded replies"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Post author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Post reactions"},"createdAt":{"type":"string","description":"Post creation timestamp"},"updatedAt":{"type":"string","description":"Post last update timestamp"}},"required":["threadId","body","id","depth","createdAt","updatedAt"]}}},"PostListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}},"id":{"type":"string"},"depth":{"type":"integer","nullable":true,"description":"Nesting level for threaded replies"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Post author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Post reactions"},"createdAt":{"type":"string","description":"Post creation timestamp"},"updatedAt":{"type":"string","description":"Post last update timestamp"}},"required":["threadId","body","id","depth","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"PostReactionCreate":{"type":"object","properties":{"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"],"description":"Type of reaction"},"userId":{"type":"string","format":"uuid","description":"User ID (required for API key auth, ignored for JWT auth)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["type"]},"PostReaction":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]},"PostReactionResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"required":["data"]},"PostReactionListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"PostPost":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"},"children":{"type":"number"}},"required":["reactions","children"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","parentId","userId","body","depth","createdAt","updatedAt"]},"PostPostResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"},"children":{"type":"number"}},"required":["reactions","children"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","parentId","userId","body","depth","createdAt","updatedAt"]}},"required":["data"]},"PostPostListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"},"children":{"type":"number"}},"required":["reactions","children"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","parentId","userId","body","depth","createdAt","updatedAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"PrivateMessageCreate":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["recipientId","body"]},"PrivateMessageUpdate":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"Message content"},"status":{"type":"string","description":"Message status (read, unread, archived)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}},"PrivateMessageList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"query":{"type":"string","description":"Search query (title or body)"}}},"PrivateMessage":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"status":{"type":"string","nullable":true,"description":"Message status (sent, delivered, read, archived)"},"createdAt":{"type":"string","description":"Message sent timestamp"},"updatedAt":{"type":"string","description":"Message last update timestamp"}},"required":["recipientId","body","id","status","createdAt","updatedAt"]},"PrivateMessageResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"status":{"type":"string","nullable":true,"description":"Message status (sent, delivered, read, archived)"},"createdAt":{"type":"string","description":"Message sent timestamp"},"updatedAt":{"type":"string","description":"Message last update timestamp"}},"required":["recipientId","body","id","status","createdAt","updatedAt"]}}},"PrivateMessageListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"status":{"type":"string","nullable":true,"description":"Message status (sent, delivered, read, archived)"},"createdAt":{"type":"string","description":"Message sent timestamp"},"updatedAt":{"type":"string","description":"Message last update timestamp"}},"required":["recipientId","body","id","status","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"PrivateMessageReplyCreate":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["recipientId","body"]},"PrivateMessageReply":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"senderId":{"type":"string"},"recipientId":{"type":"string"},"body":{"type":"string"},"status":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","parentId","senderId","recipientId","body","status","createdAt"]},"PrivateMessageReplyResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"senderId":{"type":"string"},"recipientId":{"type":"string"},"body":{"type":"string"},"status":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","parentId","senderId","recipientId","body","status","createdAt"]}},"required":["data"]},"PrivateMessageReplyListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"senderId":{"type":"string"},"recipientId":{"type":"string"},"body":{"type":"string"},"status":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","parentId","senderId","recipientId","body","status","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"UserCreate":{"type":"object","properties":{"username":{"type":"string","minLength":3,"maxLength":30,"pattern":"^[\\w-]+$","description":"Username (letters, numbers, underscores, hyphens)"},"email":{"type":"string","format":"email","description":"Email address"},"password":{"type":"string","minLength":8,"description":"Password (min 8 chars)"},"displayName":{"type":"string","minLength":1,"maxLength":50,"description":"Display name"},"bio":{"type":"string","maxLength":160,"description":"User bio"},"signature":{"type":"string","maxLength":255,"description":"Forum signature"},"url":{"type":"string","format":"uri","description":"Website URL"},"roles":{"type":"array","items":{"type":"string","minLength":1},"description":"Role slugs to assign"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["username"]},"UserUpdate":{"type":"object","properties":{"displayName":{"type":"string","minLength":1,"maxLength":50,"description":"Display name"},"bio":{"type":"string","maxLength":160,"description":"User bio"},"signature":{"type":"string","maxLength":255,"description":"Forum signature"},"username":{"type":"string","minLength":3,"maxLength":30,"pattern":"^[\\w-]+$","description":"Username (letters, numbers, underscores, hyphens)"},"email":{"type":"string","format":"email","description":"Email address"},"password":{"type":"string","minLength":8,"description":"New password"},"url":{"type":"string","format":"uri","description":"Website URL"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"roles":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_\\-]+$"},"description":"Role slugs (admin only)"}}},"UserList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"search":{"type":"string","description":"Search by username or display name"},"sort":{"type":"string","enum":["newest","oldest"],"default":"newest","description":"Sort by creation date"}}},"User":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"UserResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]}},"required":["data"]},"UserListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"UserFollowerCreate":{"type":"object","properties":{},"description":"Follow this user (no body needed, uses authenticated user)"},"UserFollower":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"follower":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]},"UserFollowerResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"follower":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"required":["data"]},"UserFollowerListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"follower":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"UserFollowing":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"following":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]},"UserFollowingResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"following":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"required":["data"]},"UserFollowingListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"following":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"RoleCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["name"]},"RoleUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}},"RoleList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"search":{"type":"string","description":"Search by name or slug"},"sort":{"type":"string","enum":["newest","oldest","name"],"default":"name","description":"Sort order"}}},"Role":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Role creation timestamp"},"updatedAt":{"type":"string","description":"Role last update timestamp"}},"required":["name","id","createdAt","updatedAt"]},"RoleResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Role creation timestamp"},"updatedAt":{"type":"string","description":"Role last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}}},"RoleListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Role creation timestamp"},"updatedAt":{"type":"string","description":"Role last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"ReportCreate":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","description":"Report status (default: pending)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["type"]},"ReportUpdate":{"type":"object","properties":{"status":{"type":"string","description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Updated description or admin notes"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}},"ReportList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"status":{"type":"string","description":"Filter by status"},"reporterId":{"type":"string","format":"uuid","description":"Filter by reporter ID"},"reportedId":{"type":"string","format":"uuid","description":"Filter by reported user ID"}}},"Report":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","nullable":true,"description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Report creation timestamp"},"updatedAt":{"type":"string","description":"Report last update timestamp"}},"required":["type","status","id","createdAt","updatedAt"]},"ReportResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","nullable":true,"description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Report creation timestamp"},"updatedAt":{"type":"string","description":"Report last update timestamp"}},"required":["type","status","id","createdAt","updatedAt"]}}},"ReportListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","nullable":true,"description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Report creation timestamp"},"updatedAt":{"type":"string","description":"Report last update timestamp"}},"required":["type","status","id","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"NotificationCreate":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","description":"Target user ID to receive notification (maps to userId)"},"notifierId":{"type":"string","format":"uuid","description":"User ID who triggered the notification (optional, defaults to authenticated user)"},"type":{"type":"string","minLength":1,"description":"Notification type (e.g. mention, reply, follow)"},"description":{"type":"string","description":"Notification text content"},"threadId":{"type":"string","format":"uuid","description":"Related thread ID"},"postId":{"type":"string","format":"uuid","description":"Related post ID"},"privateMessageId":{"type":"string","format":"uuid","description":"Related private message ID"},"status":{"type":"string","enum":["read","unread","dismissed","archived"],"default":"unread","description":"Initial notification status"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional notification data"}},"required":["userId","type"]},"NotificationUpdate":{"type":"object","properties":{"status":{"type":"string","enum":["read","unread","dismissed","archived"],"description":"Notification status"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}},"NotificationList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"status":{"type":"string","enum":["read","unread","dismissed","archived"],"description":"Filter by notification status"},"userId":{"type":"string","format":"uuid","description":"Filter by recipient user ID (admin only)"}}},"Notification":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string","description":"Recipient user ID"},"notifierId":{"type":"string","description":"User ID who triggered the notification"},"type":{"type":"string","nullable":true,"description":"Notification type"},"description":{"type":"string","nullable":true,"description":"Notification text content"},"status":{"type":"string","nullable":true,"description":"Notification status (read, unread, dismissed, archived)"},"threadId":{"type":"string","nullable":true,"description":"Related thread ID"},"postId":{"type":"string","nullable":true,"description":"Related post ID"},"privateMessageId":{"type":"string","nullable":true,"description":"Related private message ID"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional notification data"},"createdAt":{"type":"string","description":"Notification creation timestamp"},"updatedAt":{"type":"string","description":"Notification last update timestamp"}},"required":["id","userId","notifierId","type","description","status","threadId","postId","privateMessageId","extendedData","createdAt","updatedAt"]},"NotificationResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string","description":"Recipient user ID"},"notifierId":{"type":"string","description":"User ID who triggered the notification"},"type":{"type":"string","nullable":true,"description":"Notification type"},"description":{"type":"string","nullable":true,"description":"Notification text content"},"status":{"type":"string","nullable":true,"description":"Notification status (read, unread, dismissed, archived)"},"threadId":{"type":"string","nullable":true,"description":"Related thread ID"},"postId":{"type":"string","nullable":true,"description":"Related post ID"},"privateMessageId":{"type":"string","nullable":true,"description":"Related private message ID"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional notification data"},"createdAt":{"type":"string","description":"Notification creation timestamp"},"updatedAt":{"type":"string","description":"Notification last update timestamp"}},"required":["id","userId","notifierId","type","description","status","threadId","postId","privateMessageId","extendedData","createdAt","updatedAt"]}}},"NotificationListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string","description":"Recipient user ID"},"notifierId":{"type":"string","description":"User ID who triggered the notification"},"type":{"type":"string","nullable":true,"description":"Notification type"},"description":{"type":"string","nullable":true,"description":"Notification text content"},"status":{"type":"string","nullable":true,"description":"Notification status (read, unread, dismissed, archived)"},"threadId":{"type":"string","nullable":true,"description":"Related thread ID"},"postId":{"type":"string","nullable":true,"description":"Related post ID"},"privateMessageId":{"type":"string","nullable":true,"description":"Related private message ID"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional notification data"},"createdAt":{"type":"string","description":"Notification creation timestamp"},"updatedAt":{"type":"string","description":"Notification last update timestamp"}},"required":["id","userId","notifierId","type","description","status","threadId","postId","privateMessageId","extendedData","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"WebhookCreate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Webhook name"},"url":{"type":"string","format":"uri","description":"Target URL"},"events":{"type":"array","items":{"type":"string"},"minItems":1,"description":"List of event types (e.g. post.created)"},"secret":{"type":"string","minLength":10,"description":"Secret for signature verification (auto-generated if missing)"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["name","url","events"]},"WebhookUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Webhook name"},"url":{"type":"string","format":"uri","description":"Target URL"},"events":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Event types to trigger on"},"secret":{"type":"string","minLength":10,"description":"New secret"},"active":{"type":"boolean","description":"Enable/disable webhook"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}},"WebhookList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"}}},"Webhook":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Webhook name"},"url":{"type":"string","description":"Webhook endpoint URL"},"events":{"type":"array","items":{"type":"string"},"description":"Event types to trigger on"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"lastTriggered":{"type":"string","nullable":true,"description":"Last trigger timestamp"},"failureCount":{"type":"integer","description":"Consecutive failure count"},"createdAt":{"type":"string","description":"Webhook creation timestamp"},"updatedAt":{"type":"string","description":"Webhook last update timestamp"}},"required":["id","name","url","events","active","extendedData","lastTriggered","failureCount","createdAt","updatedAt"]},"WebhookResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Webhook name"},"url":{"type":"string","description":"Webhook endpoint URL"},"events":{"type":"array","items":{"type":"string"},"description":"Event types to trigger on"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"lastTriggered":{"type":"string","nullable":true,"description":"Last trigger timestamp"},"failureCount":{"type":"integer","description":"Consecutive failure count"},"createdAt":{"type":"string","description":"Webhook creation timestamp"},"updatedAt":{"type":"string","description":"Webhook last update timestamp"}},"required":["id","name","url","events","active","extendedData","lastTriggered","failureCount","createdAt","updatedAt"]}}},"WebhookListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Webhook name"},"url":{"type":"string","description":"Webhook endpoint URL"},"events":{"type":"array","items":{"type":"string"},"description":"Event types to trigger on"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"lastTriggered":{"type":"string","nullable":true,"description":"Last trigger timestamp"},"failureCount":{"type":"integer","description":"Consecutive failure count"},"createdAt":{"type":"string","description":"Webhook creation timestamp"},"updatedAt":{"type":"string","description":"Webhook last update timestamp"}},"required":["id","name","url","events","active","extendedData","lastTriggered","failureCount","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"string"},"webhookId":{"type":"string"},"event":{"type":"string"},"payload":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"responseCode":{"type":"integer","nullable":true},"responseBody":{"type":"string","nullable":true},"success":{"type":"boolean"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","webhookId","event","payload","responseCode","responseBody","success","error","createdAt"]},"WebhookDeliveryResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"webhookId":{"type":"string"},"event":{"type":"string"},"payload":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"responseCode":{"type":"integer","nullable":true},"responseBody":{"type":"string","nullable":true},"success":{"type":"boolean"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","webhookId","event","payload","responseCode","responseBody","success","error","createdAt"]}},"required":["data"]},"WebhookDeliveryListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"webhookId":{"type":"string"},"event":{"type":"string"},"payload":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"responseCode":{"type":"integer","nullable":true},"responseBody":{"type":"string","nullable":true},"success":{"type":"boolean"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","webhookId","event","payload","responseCode","responseBody","success","error","createdAt"]}},"nextCursor":{"type":"string"},"count":{"type":"integer"}},"required":["items","count"]}},"required":["data"]},"IntegrationCreate":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Integration type (e.g. SLACK, DISCORD)"},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Integration name"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"JSON configuration"},"active":{"type":"boolean","default":true,"description":"Whether integration is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["type","name","config"]},"IntegrationUpdate":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Integration name"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"JSON configuration (merged with existing)"},"active":{"type":"boolean","description":"Enable/disable integration"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}},"IntegrationList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"}}},"Integration":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["SLACK","DISCORD","SALESFORCE","HUBSPOT","OKTA","AUTH0"],"description":"Integration type"},"name":{"type":"string","description":"Integration name"},"active":{"type":"boolean","description":"Whether integration is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"Integration creation timestamp"},"updatedAt":{"type":"string","description":"Integration last update timestamp"}},"required":["id","type","name","active","extendedData","createdAt","updatedAt"]},"IntegrationResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["SLACK","DISCORD","SALESFORCE","HUBSPOT","OKTA","AUTH0"],"description":"Integration type"},"name":{"type":"string","description":"Integration name"},"active":{"type":"boolean","description":"Whether integration is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"Integration creation timestamp"},"updatedAt":{"type":"string","description":"Integration last update timestamp"}},"required":["id","type","name","active","extendedData","createdAt","updatedAt"]}}},"IntegrationListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["SLACK","DISCORD","SALESFORCE","HUBSPOT","OKTA","AUTH0"],"description":"Integration type"},"name":{"type":"string","description":"Integration name"},"active":{"type":"boolean","description":"Whether integration is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"Integration creation timestamp"},"updatedAt":{"type":"string","description":"Integration last update timestamp"}},"required":["id","type","name","active","extendedData","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"SSOCreate":{"type":"object","properties":{"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","minLength":1,"description":"Email domain to match (e.g. 'acme.com')"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"Provider configuration (clientId, issuer, etc.)"},"active":{"type":"boolean","default":true,"description":"Whether SSO is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["provider","domain","config"]},"SSOUpdate":{"type":"object","properties":{"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","minLength":1,"description":"Email domain to match"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"Provider configuration"},"active":{"type":"boolean","description":"Enable/disable provider"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}},"SSOList":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"}}},"SSO":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","description":"Email domain for this provider"},"active":{"type":"boolean","description":"Whether SSO is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"SSO configuration creation timestamp"},"updatedAt":{"type":"string","description":"SSO configuration last update timestamp"}},"required":["id","provider","domain","active","extendedData","createdAt","updatedAt"]},"SSOResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","description":"Email domain for this provider"},"active":{"type":"boolean","description":"Whether SSO is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"SSO configuration creation timestamp"},"updatedAt":{"type":"string","description":"SSO configuration last update timestamp"}},"required":["id","provider","domain","active","extendedData","createdAt","updatedAt"]}}},"SSOListResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","description":"Email domain for this provider"},"active":{"type":"boolean","description":"Whether SSO is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"SSO configuration creation timestamp"},"updatedAt":{"type":"string","description":"SSO configuration last update timestamp"}},"required":["id","provider","domain","active","extendedData","createdAt","updatedAt"]}},"nextCursor":{"type":"string","description":"Cursor for next page"},"count":{"type":"integer","description":"Total count of items"}},"required":["items","count"]}},"required":["data"]},"Instance":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"handle":{"type":"string"},"apiKey":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","handle"]},"InstanceList":{"type":"object","properties":{"instances":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"handle":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","handle","createdAt"]}}},"required":["instances"]},"CreateInstance":{"type":"object","properties":{"name":{"type":"string","description":"Display name for the instance"},"handle":{"type":"string","description":"URL-friendly identifier (slug)"}},"required":["name","handle"]},"UpdateInstance":{"type":"object","properties":{"handle":{"type":"string","description":"Current handle to identify the instance"},"name":{"type":"string","description":"New display name"},"newHandle":{"type":"string","description":"New URL-friendly identifier"}},"required":["handle"]},"DeleteInstance":{"type":"object","properties":{"handle":{"type":"string","description":"Handle of the instance to delete"}},"required":["handle"]},"BillingInfo":{"type":"object","properties":{"instanceId":{"type":"string","format":"uuid"},"handle":{"type":"string"},"plan":{"type":"string","enum":["FREE","STARTER","PRO","ENTERPRISE"]},"status":{"type":"string"},"currentPeriodEnd":{"type":"string","format":"date-time"},"cancelAtPeriodEnd":{"type":"boolean"}},"required":["instanceId","handle","plan","status","cancelAtPeriodEnd"]},"UpgradeInstance":{"type":"object","properties":{"handle":{"type":"string","description":"Instance handle"},"plan":{"type":"string","enum":["FREE","STARTER","PRO"],"description":"Target plan"},"isAnnual":{"type":"boolean","description":"Use annual billing (default: true)"},"returnUrl":{"type":"string","description":"URL to return to after checkout/portal"}},"required":["handle","plan"]},"UsageStats":{"type":"object","properties":{"handle":{"type":"string"},"period":{"type":"string"},"apiRequests":{"type":"integer"},"storageBytes":{"type":"integer"},"members":{"type":"integer"},"forumUsers":{"type":"integer"},"threads":{"type":"integer"},"posts":{"type":"integer"}},"required":["handle","period","apiRequests","storageBytes","members","forumUsers","threads","posts"]},"TeamMember":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["MEMBER","OWNER"]},"status":{"type":"string","enum":["PENDING","ACCEPTED","DECLINED"]},"invitedAt":{"type":"string","format":"date-time"},"joinedAt":{"type":"string","format":"date-time"}},"required":["id","email","role","status"]},"InstanceDomain":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"subdomain":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","name","createdAt"]},"InstanceWebhook":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"active":{"type":"boolean"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","url","events","active"]},"OwnershipInfo":{"type":"object","properties":{"handle":{"type":"string"},"owner":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["id","email"]},"creator":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["id","email"]},"isCurrentUserOwner":{"type":"boolean"}},"required":["handle","owner","creator","isCurrentUserOwner"]},"ProvisioningAuthResponse":{"type":"object","properties":{"provisioningKey":{"type":"string","format":"uuid"},"userId":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"}},"required":["provisioningKey","userId","email"]}},"parameters":{}},"paths":{"/auth/register":{"post":{"tags":["Auth"],"x-fern-sdk-group-name":["Auth"],"summary":"Register","description":"Register a new user in your forum instance. Requires API key for instance identification. Returns a JWT token for subsequent authenticated requests.","operationId":"registerAuth","x-fern-sdk-method-name":"register","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","minLength":3,"maxLength":255,"description":"Username"},"email":{"type":"string","format":"email","description":"Email"},"displayName":{"type":"string","description":"Display Name"},"password":{"type":"string","minLength":8,"description":"Password (min 8 chars)"},"roles":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_\\- ]+$"},"description":"Roles"},"bio":{"type":"string","description":"Bio"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["username","email","password"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/auth/login":{"post":{"tags":["Auth"],"x-fern-sdk-group-name":["Auth"],"summary":"Login","description":"Authenticate an existing user. Requires API key for instance identification. Returns a JWT token for subsequent authenticated requests.","operationId":"loginAuth","x-fern-sdk-method-name":"login","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"login":{"type":"string","minLength":3,"maxLength":255,"description":"Username or Email"},"password":{"type":"string","minLength":1,"description":"Password"}},"required":["login","password"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/auth/me":{"get":{"tags":["Auth"],"x-fern-sdk-group-name":["Auth"],"summary":"Get Current User","operationId":"meAuth","x-fern-sdk-method-name":"me","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/auth/forgot-password":{"post":{"tags":["Auth"],"x-fern-sdk-group-name":["Auth"],"summary":"Request Password Reset","description":"Request a password reset email. Requires API key for instance identification.","operationId":"forgot-passwordAuth","x-fern-sdk-method-name":"forgot-password","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"User Email"}},"required":["email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Forgot-passwordResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/auth/reset-password":{"post":{"tags":["Auth"],"x-fern-sdk-group-name":["Auth"],"summary":"Reset Password","description":"Reset password using a reset token. Requires API key for instance identification.","operationId":"reset-passwordAuth","x-fern-sdk-method-name":"reset-password","security":[{"ApiKeyAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"password":{"type":"string","minLength":8,"description":"New Password (min 8 chars)"},"oldPassword":{"type":"string","description":"Old Password (for change password)"},"email":{"type":"string","format":"email","description":"Email (required if using oldPassword)"},"token":{"type":"string","description":"Reset Token"}},"required":["password"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Reset-passwordResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/search/":{"get":{"tags":["Search"],"x-fern-sdk-group-name":["Search"],"summary":"Search across content","operationId":"searchSearch","x-fern-sdk-method-name":"search","security":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"limit":{"type":"number","minimum":1,"maximum":75,"default":15,"description":"Items per page (max 75)"},"cursor":{"type":"string","description":"Cursor for pagination"},"query":{"type":"string","minLength":1,"description":"Search query string"},"type":{"type":"string","enum":["threads","posts","users","tags"],"default":"threads","description":"Type of content to search"}},"required":["query"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/SearchResponse"},{"properties":{"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string","enum":["thread","post","user","tag"]},"id":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"username":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string"}},"required":["type","id"]}},"nextCursor":{"type":"string","nullable":true},"hasMore":{"type":"boolean"}},"required":["items","nextCursor","hasMore"]}}}]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/tags":{"get":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"List all Tags","description":"Retrieve a paginated list of tags. Use cursor for pagination.","operationId":"listTags","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search tags by name or description"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Create a Tag","description":"Create a new tag.","operationId":"createTag","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["name"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/tags/{id}":{"get":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Get a Tag","description":"Retrieve a tag by ID or slug (if supported).","operationId":"getTag","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Update a Tag","description":"Update an existing tag. Only provided fields will be modified.","operationId":"updateTag","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Tag creation timestamp"},"updatedAt":{"type":"string","description":"Tag last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Delete a Tag","description":"Permanently delete a tag.","operationId":"deleteTag","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/tags/{id}/subscribers":{"get":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"List Tag Subscribers","description":"Retrieve a paginated list of subscribers for Tag.","operationId":"listTagSubscribers","x-fern-sdk-method-name":"listSubscribers","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSubscriberListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Create a Subscriber in Tag","description":"Create a Subscriber in Tag.","operationId":"createTagSubscriber","x-fern-sdk-method-name":"createSubscriber","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Optional custom data"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSubscriberResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Tags"],"summary":"Unsubscribe from Tag","description":"Unsubscribe from this tag. Removes the authenticated user's subscription. No subId needed.","operationId":"unsubscribeFromTag","x-fern-sdk-method-name":"unsubscribe","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID to unsubscribe from"}],"responses":{"200":{"description":"Unsubscribed","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/tags/{id}/subscribers/{subId}":{"get":{"tags":["Tags"],"x-fern-sdk-group-name":["Tags"],"summary":"Get a Subscriber from Tag","operationId":"getTagSubscriber","x-fern-sdk-method-name":"retrieveSubscriber","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Subscriber ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"tagId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","tagId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Tags"],"summary":"Delete a Subscriber from Tag by ID","operationId":"deleteTagSubscriberById","x-fern-sdk-method-name":"deleteSubscriberById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Tag ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Subscriber ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"List all Threads","description":"Retrieve a paginated list of threads. Use cursor for pagination.","operationId":"listThreads","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search term for title"},{"name":"tagId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by tag ID"},{"name":"userId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by author ID"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest","activity"],"default":"newest"},"description":"Sort criteria"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Create a Thread","description":"Create a new thread.","operationId":"createThread","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"List of tag slugs, names, or IDs to attach"},"poll":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"Poll title"},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1},"color":{"type":"string"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}}},"required":["title"]},"minItems":2,"description":"Poll options"}},"required":["title","options"],"description":"Poll data"},"locked":{"type":"boolean","description":"Lock thread on creation"},"pinned":{"type":"boolean","description":"Pin thread on creation"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["title","body"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Get a Thread","description":"Retrieve a thread by ID or slug (if supported).","operationId":"getThread","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Update a Thread","description":"Update an existing thread. Only provided fields will be modified.","operationId":"updateThread","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"description":"New title"},"body":{"type":"string","minLength":1,"description":"New content"},"locked":{"type":"boolean","description":"Lock/unlock thread"},"pinned":{"type":"boolean","description":"Pin/unpin thread"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"Update tags by slug, name, or ID"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":255,"description":"Thread title"},"body":{"type":"string","minLength":1,"description":"Thread content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"tags":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Tag name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Tag slug (unique identifier)"},"description":{"type":"string","description":"Tag description"},"color":{"type":"string","description":"Hex color code"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"}},"required":["name","id"]},"description":"Thread tags"},"poll":{"type":"object","nullable":true,"properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"closed":{"type":"boolean","nullable":true},"closedAt":{"type":"string","nullable":true,"format":"date-time"},"expiresAt":{"type":"string","nullable":true,"format":"date-time"},"totalVotes":{"type":"number"},"options":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"color":{"type":"string","nullable":true},"votesCount":{"type":"number"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}}},"required":["id","title","color","votesCount","extendedData"]}},"userVote":{"type":"string","nullable":true,"format":"uuid","description":"The option ID that the current user voted for, or null if they haven't voted"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","title","closed","closedAt","expiresAt","totalVotes","options","userVote","createdAt","updatedAt"],"description":"Thread poll"},"locked":{"type":"boolean","nullable":true,"description":"Whether thread is locked"},"pinned":{"type":"boolean","nullable":true,"description":"Whether thread is pinned"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom metadata"},"id":{"type":"string"},"slug":{"type":"string","nullable":true,"description":"URL-friendly identifier"},"views":{"type":"integer","description":"View count"},"postsCount":{"type":"integer","description":"Number of posts/replies"},"lastPostAt":{"type":"string","nullable":true,"description":"Timestamp of the last post"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Thread author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Thread reactions"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["title","body","locked","pinned","extendedData","id","slug","views","postsCount","lastPostAt","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Delete a Thread","description":"Permanently delete a thread.","operationId":"deleteThread","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/posts":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"List Thread Posts","description":"Retrieve a paginated list of posts for Thread.","operationId":"listThreadPosts","x-fern-sdk-method-name":"listPosts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"userId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter posts by author ID"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest"],"default":"newest"},"description":"Sort posts by creation time"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search within post body"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["created","liked","disliked","upvoted","downvoted"],"default":"created"},"description":"Filter by interaction type"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadPostListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/posts/{subId}":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Get a Post from Thread","operationId":"getThreadPost","x-fern-sdk-method-name":"retrievePost","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"threadId":{"type":"string"},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"}},"required":["reactions"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","threadId","userId","body","depth","createdAt","updatedAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"summary":"Delete a Post from Thread by ID","operationId":"deleteThreadPostById","x-fern-sdk-method-name":"deletePostById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/reactions":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"List Thread Reactions","description":"Retrieve a paginated list of reactions for Thread.","operationId":"listThreadReactions","x-fern-sdk-method-name":"listReactions","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"description":"Filter by reaction type"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadReactionListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Create a Reaction in Thread","description":"Create a Reaction in Thread.","operationId":"createThreadReaction","x-fern-sdk-method-name":"createReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"],"description":"Type of reaction"},"userId":{"type":"string","format":"uuid","description":"User ID (required for API key auth, ignored for JWT auth)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["type"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadReactionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"summary":"Remove your Reaction from Thread","description":"Removes the authenticated user's reaction. No subId needed.","operationId":"deleteThreadReaction","x-fern-sdk-method-name":"deleteReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/reactions/{subId}":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Get a Reaction from Thread","operationId":"getThreadReaction","x-fern-sdk-method-name":"retrieveReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reaction ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"summary":"Delete a Reaction from Thread by ID","operationId":"deleteThreadReactionById","x-fern-sdk-method-name":"deleteReactionById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reaction ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/subscribers":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"List Thread Subscribers","description":"Retrieve a paginated list of subscribers for Thread.","operationId":"listThreadSubscribers","x-fern-sdk-method-name":"listSubscribers","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadSubscriberListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Create a Subscriber in Thread","description":"Create a Subscriber in Thread.","operationId":"createThreadSubscriber","x-fern-sdk-method-name":"createSubscriber","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Optional custom data"}}}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadSubscriberResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"summary":"Unsubscribe from Thread","description":"Unsubscribe from this thread. Removes the authenticated user's subscription. No subId needed.","operationId":"unsubscribeFromThread","x-fern-sdk-method-name":"unsubscribe","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID to unsubscribe from"}],"responses":{"200":{"description":"Unsubscribed","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/subscribers/{subId}":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Get a Subscriber from Thread","operationId":"getThreadSubscriber","x-fern-sdk-method-name":"retrieveSubscriber","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Subscriber ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string"},"threadId":{"type":"string","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","userId","threadId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"summary":"Delete a Subscriber from Thread by ID","operationId":"deleteThreadSubscriberById","x-fern-sdk-method-name":"deleteSubscriberById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Subscriber ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/poll":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Get Thread Poll","operationId":"getThreadPoll","x-fern-sdk-method-name":"retrievePoll","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadPollResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Create Thread Poll","operationId":"createThreadPoll","x-fern-sdk-method-name":"createPoll","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200,"description":"Poll question/title"},"options":{"type":"array","items":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":100,"description":"Option text"},"color":{"type":"string","description":"Optional color for display"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["title"]},"minItems":2,"maxItems":20,"description":"Poll options (2-20)"},"expiresAt":{"type":"string","format":"date-time","description":"Optional expiration time"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["title","options"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadPollResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Update Thread Poll","operationId":"updateThreadPoll","x-fern-sdk-method-name":"updatePoll","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string","minLength":1,"maxLength":200,"description":"Poll question/title"},"closed":{"type":"boolean","description":"Close the poll"},"expiresAt":{"type":"string","format":"date-time","description":"Optional expiration time"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadPollResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/poll/votes":{"get":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"List Votes in Poll","description":"List all votes in the Thread's Poll.","operationId":"listThreadPollVotes","x-fern-sdk-method-name":"listPollVotes","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"optionId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by option ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PollVotesListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Create a Vote in Poll","description":"Create a Vote in the Thread's Poll.","operationId":"createThreadPollVote","x-fern-sdk-method-name":"createPollVote","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"optionId":{"type":"string","format":"uuid","description":"ID of the poll option to vote for"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["optionId"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PollVoteResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Remove your Vote from Poll","description":"Removes the authenticated user's Vote. No ID needed.","operationId":"deleteOwnThreadPollVote","x-fern-sdk-method-name":"deleteOwnPollVote","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/threads/{id}/poll/votes/{nestedId}":{"delete":{"tags":["Threads"],"x-fern-sdk-group-name":["Threads"],"summary":"Delete a Vote from Poll","operationId":"deleteThreadPollVote","x-fern-sdk-method-name":"deletePollVote","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Thread ID"},{"name":"nestedId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Vote ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"List all Posts","description":"Retrieve a paginated list of posts. Use cursor for pagination.","operationId":"listPosts","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"threadId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter posts by thread ID"},{"name":"userId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter posts by author ID"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest"],"default":"newest"},"description":"Sort posts by creation time"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search within post body"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["created","liked","disliked","upvoted","downvoted"],"default":"created"},"description":"Filter by interaction type"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Create a Post","description":"Create a new post.","operationId":"createPost","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}}},"required":["threadId","body"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts/{id}":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Get a Post","description":"Retrieve a post by ID or slug (if supported).","operationId":"getPost","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Update a Post","description":"Update an existing post. Only provided fields will be modified.","operationId":"updatePost","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"Updated post content"},"threadId":{"type":"string","format":"uuid","description":"Move post to another thread"},"parentId":{"type":"string","format":"uuid","description":"Change parent post"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"threadId":{"type":"string","format":"uuid","description":"Thread ID to post in"},"body":{"type":"string","minLength":1,"description":"Post content (Markdown supported)"},"userId":{"type":"string","format":"uuid","description":"Author user ID (required for API key auth, ignored for JWT auth)"},"parentId":{"type":"string","format":"uuid","description":"Parent post ID for threading"},"extendedData":{"type":"object","additionalProperties":{"nullable":true}},"id":{"type":"string"},"depth":{"type":"integer","nullable":true,"description":"Nesting level for threaded replies"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"],"description":"Post author"},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]},"description":"Post reactions"},"createdAt":{"type":"string","description":"Post creation timestamp"},"updatedAt":{"type":"string","description":"Post last update timestamp"}},"required":["threadId","body","id","depth","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Delete a Post","description":"Permanently delete a post.","operationId":"deletePost","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts/{id}/reactions":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"List Post Reactions","description":"Retrieve a paginated list of reactions for Post.","operationId":"listPostReactions","x-fern-sdk-method-name":"listReactions","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"description":"Filter by reaction type"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostReactionListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Create a Reaction in Post","description":"Create a Reaction in Post.","operationId":"createPostReaction","x-fern-sdk-method-name":"createReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"],"description":"Type of reaction"},"userId":{"type":"string","format":"uuid","description":"User ID (required for API key auth, ignored for JWT auth)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional custom data"}},"required":["type"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostReactionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Posts"],"summary":"Remove your Reaction from Post","description":"Removes the authenticated user's reaction. No subId needed.","operationId":"deletePostReaction","x-fern-sdk-method-name":"deleteReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts/{id}/reactions/{subId}":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Get a Reaction from Post","operationId":"getPostReaction","x-fern-sdk-method-name":"retrieveReaction","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reaction ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"userId":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","type","userId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Posts"],"summary":"Delete a Reaction from Post by ID","operationId":"deletePostReactionById","x-fern-sdk-method-name":"deleteReactionById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reaction ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts/{id}/posts":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"List Post Posts","description":"Retrieve a paginated list of posts for Post.","operationId":"listPostPosts","x-fern-sdk-method-name":"listPosts","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"threadId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter posts by thread ID"},{"name":"userId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter posts by author ID"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest"],"default":"newest"},"description":"Sort posts by creation time"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search within post body"},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["created","liked","disliked","upvoted","downvoted"],"default":"created"},"description":"Filter by interaction type"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostPostListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/posts/{id}/posts/{subId}":{"get":{"tags":["Posts"],"x-fern-sdk-group-name":["Posts"],"summary":"Get a Post from Post","operationId":"getPostPost","x-fern-sdk-method-name":"retrievePost","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"userId":{"type":"string"},"body":{"type":"string"},"depth":{"type":"integer","nullable":true},"user":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"reactions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"type":{"type":"string","enum":["LIKE","DISLIKE","UPVOTE","DOWNVOTE"]},"userId":{"type":"string","format":"uuid"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","type","userId","createdAt"]}},"_count":{"type":"object","properties":{"reactions":{"type":"number"},"children":{"type":"number"}},"required":["reactions","children"]},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","parentId","userId","body","depth","createdAt","updatedAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Posts"],"summary":"Delete a Post from Post by ID","operationId":"deletePostPostById","x-fern-sdk-method-name":"deletePostById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Post ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/private-messages":{"get":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"List all Private Messages","description":"Retrieve a paginated list of private messages. Use cursor for pagination.","operationId":"listPrivate Messages","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"query","in":"query","required":false,"schema":{"type":"string"},"description":"Search query (title or body)"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateMessageListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Create a Private Message","description":"Create a new private message.","operationId":"createPrivate Message","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["recipientId","body"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateMessageResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/private-messages/{id}":{"get":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Get a Private Message","description":"Retrieve a private message by ID or slug (if supported).","operationId":"getPrivate Message","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateMessageResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Update a Private Message","description":"Update an existing private message. Only provided fields will be modified.","operationId":"updatePrivate Message","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"description":"Message content"},"status":{"type":"string","description":"Message status (read, unread, archived)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"status":{"type":"string","nullable":true,"description":"Message status (sent, delivered, read, archived)"},"createdAt":{"type":"string","description":"Message sent timestamp"},"updatedAt":{"type":"string","description":"Message last update timestamp"}},"required":["recipientId","body","id","status","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Delete a Private Message","description":"Permanently delete a private message.","operationId":"deletePrivate Message","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/private-messages/{id}/replies":{"get":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"List Private Message Replies","description":"Retrieve a paginated list of replies for Private Message.","operationId":"listPrivate MessageReplies","x-fern-sdk-method-name":"listReplies","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor"},{"name":"limit","in":"query","schema":{"type":"integer","default":15},"description":"Items per page (max 75)"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateMessageReplyListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Create a Reply in Private Message","description":"Create a Reply in Private Message.","operationId":"createPrivate MessageReply","x-fern-sdk-method-name":"createReply","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"recipientId":{"type":"string","format":"uuid","description":"Recipient User ID"},"senderId":{"type":"string","format":"uuid","description":"Sender user ID (required for API key auth, ignored for JWT auth)"},"title":{"type":"string","description":"Message title (optional for replies)"},"body":{"type":"string","minLength":1,"description":"Message content"},"parentId":{"type":"string","description":"Parent Message ID (for replies)"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["recipientId","body"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrivateMessageReplyResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/private-messages/{id}/replies/{subId}":{"get":{"tags":["Private Messages"],"x-fern-sdk-group-name":["Private Messages"],"summary":"Get a Reply from Private Message","operationId":"getPrivate MessageReply","x-fern-sdk-method-name":"retrieveReply","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reply ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"parentId":{"type":"string","nullable":true},"senderId":{"type":"string"},"recipientId":{"type":"string"},"body":{"type":"string"},"status":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","parentId","senderId","recipientId","body","status","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Private Messages"],"summary":"Delete a Reply from Private Message by ID","operationId":"deletePrivate MessageReplyById","x-fern-sdk-method-name":"deleteReplyById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Private Message ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Reply ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"List all Users","description":"Retrieve a paginated list of users. Use cursor for pagination.","operationId":"listUsers","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search by username or display name"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest"],"default":"newest"},"description":"Sort by creation date"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Create a User","description":"Create a new user.","operationId":"createUser","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"username":{"type":"string","minLength":3,"maxLength":30,"pattern":"^[\\w-]+$","description":"Username (letters, numbers, underscores, hyphens)"},"email":{"type":"string","format":"email","description":"Email address"},"password":{"type":"string","minLength":8,"description":"Password (min 8 chars)"},"displayName":{"type":"string","minLength":1,"maxLength":50,"description":"Display name"},"bio":{"type":"string","maxLength":160,"description":"User bio"},"signature":{"type":"string","maxLength":255,"description":"Forum signature"},"url":{"type":"string","format":"uri","description":"Website URL"},"roles":{"type":"array","items":{"type":"string","minLength":1},"description":"Role slugs to assign"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["username"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users/{id}":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Get a User","description":"Retrieve a user by ID or slug (if supported).","operationId":"getUser","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Update a User","description":"Update an existing user. Only provided fields will be modified.","operationId":"updateUser","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"displayName":{"type":"string","minLength":1,"maxLength":50,"description":"Display name"},"bio":{"type":"string","maxLength":160,"description":"User bio"},"signature":{"type":"string","maxLength":255,"description":"Forum signature"},"username":{"type":"string","minLength":3,"maxLength":30,"pattern":"^[\\w-]+$","description":"Username (letters, numbers, underscores, hyphens)"},"email":{"type":"string","format":"email","description":"Email address"},"password":{"type":"string","minLength":8,"description":"New password"},"url":{"type":"string","format":"uri","description":"Website URL"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"roles":{"type":"array","items":{"type":"string","minLength":1,"pattern":"^[a-zA-Z0-9_\\-]+$"},"description":"Role slugs (admin only)"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"email":{"type":"string","nullable":true,"description":"Email address"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","email","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Delete a User","description":"Permanently delete a user.","operationId":"deleteUser","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users/{id}/followers":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"List User Followers","description":"Retrieve a paginated list of followers for User.","operationId":"listUserFollowers","x-fern-sdk-method-name":"listFollowers","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFollowerListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Create a Follower in User","description":"Create a Follower in User.","operationId":"createUserFollower","x-fern-sdk-method-name":"createFollower","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{},"description":"Follow this user (no body needed, uses authenticated user)"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFollowerResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Users"],"summary":"Unfollow User","description":"Unfollow this user. Removes the authenticated user's follow. No subId needed.","operationId":"unfollowUser","x-fern-sdk-method-name":"unfollow","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID to unfollow"}],"responses":{"200":{"description":"Unfollowed","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"success":{"type":"boolean"}},"required":["success"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users/{id}/followers/{subId}":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Get a Follower from User","operationId":"getUserFollower","x-fern-sdk-method-name":"retrieveFollower","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Follower ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"follower":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Users"],"summary":"Delete a Follower from User by ID","operationId":"deleteUserFollowerById","x-fern-sdk-method-name":"deleteFollowerById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Follower ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users/{id}/following":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"List User Following","description":"Retrieve a paginated list of following for User.","operationId":"listUserFollowing","x-fern-sdk-method-name":"listFollowing","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserFollowingListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/users/{id}/following/{subId}":{"get":{"tags":["Users"],"x-fern-sdk-group-name":["Users"],"summary":"Get a Following from User","operationId":"getUserFollowing","x-fern-sdk-method-name":"retrieveFollowing","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Following ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"followerId":{"type":"string"},"followingId":{"type":"string"},"following":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"displayName":{"type":"string","nullable":true,"description":"Display name"},"bio":{"type":"string","nullable":true,"description":"User bio"},"signature":{"type":"string","nullable":true,"description":"Forum signature"},"url":{"type":"string","nullable":true,"description":"User website URL"},"postsCount":{"type":"integer","default":0,"description":"Total posts by user"},"threadsCount":{"type":"integer","default":0,"description":"Total threads by user"},"isOnline":{"type":"boolean","nullable":true,"description":"Online status"},"lastSeenAt":{"type":"string","nullable":true,"description":"Last activity timestamp"},"roles":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string","nullable":true},"color":{"type":"string","nullable":true}},"required":["id","name","slug","color"]},"description":"User roles"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom user data"},"createdAt":{"type":"string","description":"Account creation timestamp"},"updatedAt":{"type":"string","description":"Profile last update timestamp"}},"required":["id","username","displayName","bio","signature","url","isOnline","lastSeenAt","extendedData","createdAt","updatedAt"]},"createdAt":{"type":"string"}},"required":["id","followerId","followingId","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Users"],"summary":"Delete a Following from User by ID","operationId":"deleteUserFollowingById","x-fern-sdk-method-name":"deleteFollowingById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"User ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Following ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/roles":{"get":{"tags":["Roles"],"x-fern-sdk-group-name":["Roles"],"summary":"List all Roles","description":"Retrieve a paginated list of roles. Use cursor for pagination.","operationId":"listRoles","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"search","in":"query","required":false,"schema":{"type":"string"},"description":"Search by name or slug"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","enum":["newest","oldest","name"],"default":"name"},"description":"Sort order"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Roles"],"x-fern-sdk-group-name":["Roles"],"summary":"Create a Role","description":"Create a new role.","operationId":"createRole","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}},"required":["name"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/roles/{id}":{"get":{"tags":["Roles"],"x-fern-sdk-group-name":["Roles"],"summary":"Get a Role","description":"Retrieve a role by ID or slug (if supported).","operationId":"getRole","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Role ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Roles"],"x-fern-sdk-group-name":["Roles"],"summary":"Update a Role","description":"Update an existing role. Only provided fields will be modified.","operationId":"updateRole","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Role ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Role name"},"slug":{"type":"string","minLength":1,"maxLength":50,"description":"Role slug (unique identifier)"},"description":{"type":"string","description":"Role description"},"color":{"type":"string","description":"Role color hex"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Role creation timestamp"},"updatedAt":{"type":"string","description":"Role last update timestamp"}},"required":["name","id","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Roles"],"x-fern-sdk-group-name":["Roles"],"summary":"Delete a Role","description":"Permanently delete a role.","operationId":"deleteRole","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Role ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/reports":{"get":{"tags":["Reports"],"x-fern-sdk-group-name":["Reports"],"summary":"List all Reports","description":"Retrieve a paginated list of reports. Use cursor for pagination.","operationId":"listReports","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"status","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by status"},{"name":"reporterId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by reporter ID"},{"name":"reportedId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by reported user ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Reports"],"x-fern-sdk-group-name":["Reports"],"summary":"Create a Report","description":"Create a new report.","operationId":"createReport","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","description":"Report status (default: pending)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["type"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/reports/{id}":{"get":{"tags":["Reports"],"x-fern-sdk-group-name":["Reports"],"summary":"Get a Report","description":"Retrieve a report by ID or slug (if supported).","operationId":"getReport","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Report ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Reports"],"x-fern-sdk-group-name":["Reports"],"summary":"Update a Report","description":"Update an existing report. Only provided fields will be modified.","operationId":"updateReport","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Report ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Updated description or admin notes"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Report type (e.g. spam, abuse)"},"status":{"type":"string","nullable":true,"description":"Report status (pending, reviewed, resolved, dismissed)"},"description":{"type":"string","description":"Reason for reporting"},"userId":{"type":"string","format":"uuid","description":"Reporter user ID (required for API key auth, ignored for JWT auth)"},"reportedId":{"type":"string","format":"uuid","description":"ID of user being reported"},"threadId":{"type":"string","format":"uuid","description":"ID of thread being reported"},"postId":{"type":"string","format":"uuid","description":"ID of post being reported"},"privateMessageId":{"type":"string","format":"uuid","description":"ID of private message being reported"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"},"id":{"type":"string"},"createdAt":{"type":"string","description":"Report creation timestamp"},"updatedAt":{"type":"string","description":"Report last update timestamp"}},"required":["type","status","id","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Reports"],"x-fern-sdk-group-name":["Reports"],"summary":"Delete a Report","description":"Permanently delete a report.","operationId":"deleteReport","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Report ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/notifications":{"get":{"tags":["Notifications"],"x-fern-sdk-group-name":["Notifications"],"summary":"List all Notifications","description":"Retrieve a paginated list of notifications. Use cursor for pagination.","operationId":"listNotifications","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["read","unread","dismissed","archived"]},"description":"Filter by notification status"},{"name":"userId","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by recipient user ID (admin only)"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Notifications"],"x-fern-sdk-group-name":["Notifications"],"summary":"Create a Notification","description":"Create a new notification.","operationId":"createNotification","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string","format":"uuid","description":"Target user ID to receive notification (maps to userId)"},"notifierId":{"type":"string","format":"uuid","description":"User ID who triggered the notification (optional, defaults to authenticated user)"},"type":{"type":"string","minLength":1,"description":"Notification type (e.g. mention, reply, follow)"},"description":{"type":"string","description":"Notification text content"},"threadId":{"type":"string","format":"uuid","description":"Related thread ID"},"postId":{"type":"string","format":"uuid","description":"Related post ID"},"privateMessageId":{"type":"string","format":"uuid","description":"Related private message ID"},"status":{"type":"string","enum":["read","unread","dismissed","archived"],"default":"unread","description":"Initial notification status"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Additional notification data"}},"required":["userId","type"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/notifications/{id}":{"get":{"tags":["Notifications"],"x-fern-sdk-group-name":["Notifications"],"summary":"Get a Notification","description":"Retrieve a notification by ID or slug (if supported).","operationId":"getNotification","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Notification ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Notifications"],"x-fern-sdk-group-name":["Notifications"],"summary":"Update a Notification","description":"Update an existing notification. Only provided fields will be modified.","operationId":"updateNotification","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Notification ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","enum":["read","unread","dismissed","archived"],"description":"Notification status"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Update extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"userId":{"type":"string","description":"Recipient user ID"},"notifierId":{"type":"string","description":"User ID who triggered the notification"},"type":{"type":"string","nullable":true,"description":"Notification type"},"description":{"type":"string","nullable":true,"description":"Notification text content"},"status":{"type":"string","nullable":true,"description":"Notification status (read, unread, dismissed, archived)"},"threadId":{"type":"string","nullable":true,"description":"Related thread ID"},"postId":{"type":"string","nullable":true,"description":"Related post ID"},"privateMessageId":{"type":"string","nullable":true,"description":"Related private message ID"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Additional notification data"},"createdAt":{"type":"string","description":"Notification creation timestamp"},"updatedAt":{"type":"string","description":"Notification last update timestamp"}},"required":["id","userId","notifierId","type","description","status","threadId","postId","privateMessageId","extendedData","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Notifications"],"x-fern-sdk-group-name":["Notifications"],"summary":"Delete a Notification","description":"Permanently delete a notification.","operationId":"deleteNotification","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Notification ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/webhooks":{"get":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"List all Webhooks","description":"Retrieve a paginated list of webhooks. Use cursor for pagination.\n\n**Requires feature: webhooks**","operationId":"listWebhooks","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"Create a Webhook","description":"Create a new webhook.\n\n**Requires feature: webhooks**","operationId":"createWebhook","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Webhook name"},"url":{"type":"string","format":"uri","description":"Target URL"},"events":{"type":"array","items":{"type":"string"},"minItems":1,"description":"List of event types (e.g. post.created)"},"secret":{"type":"string","minLength":10,"description":"Secret for signature verification (auto-generated if missing)"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["name","url","events"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/webhooks/{id}":{"get":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"Get a Webhook","description":"Retrieve a webhook by ID or slug (if supported).\n\n**Requires feature: webhooks**","operationId":"getWebhook","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"Update a Webhook","description":"Update an existing webhook. Only provided fields will be modified.\n\n**Requires feature: webhooks**","operationId":"updateWebhook","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100,"description":"Webhook name"},"url":{"type":"string","format":"uri","description":"Target URL"},"events":{"type":"array","items":{"type":"string"},"minItems":1,"description":"Event types to trigger on"},"secret":{"type":"string","minLength":10,"description":"New secret"},"active":{"type":"boolean","description":"Enable/disable webhook"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string","description":"Webhook name"},"url":{"type":"string","description":"Webhook endpoint URL"},"events":{"type":"array","items":{"type":"string"},"description":"Event types to trigger on"},"active":{"type":"boolean","description":"Whether webhook is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"lastTriggered":{"type":"string","nullable":true,"description":"Last trigger timestamp"},"failureCount":{"type":"integer","description":"Consecutive failure count"},"createdAt":{"type":"string","description":"Webhook creation timestamp"},"updatedAt":{"type":"string","description":"Webhook last update timestamp"}},"required":["id","name","url","events","active","extendedData","lastTriggered","failureCount","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"Delete a Webhook","description":"Permanently delete a webhook.\n\n**Requires feature: webhooks**","operationId":"deleteWebhook","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/webhooks/{id}/deliveries":{"get":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"List Webhook Deliveries","description":"Retrieve a paginated list of deliveries for Webhook.\n\n**Requires feature: webhooks**","operationId":"listWebhookDeliveries","x-fern-sdk-method-name":"listDeliveries","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Pagination cursor"},{"name":"limit","in":"query","schema":{"type":"integer","default":15},"description":"Items per page (max 75)"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/webhooks/{id}/deliveries/{subId}":{"get":{"tags":["Webhooks"],"x-fern-sdk-group-name":["Webhooks"],"summary":"Get a Delivery from Webhook","operationId":"getWebhookDelivery","x-fern-sdk-method-name":"retrieveDelivery","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Delivery ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"webhookId":{"type":"string"},"event":{"type":"string"},"payload":{"type":"object","nullable":true,"additionalProperties":{"nullable":true}},"responseCode":{"type":"integer","nullable":true},"responseBody":{"type":"string","nullable":true},"success":{"type":"boolean"},"error":{"type":"string","nullable":true},"createdAt":{"type":"string"}},"required":["id","webhookId","event","payload","responseCode","responseBody","success","error","createdAt"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete a Delivery from Webhook by ID","operationId":"deleteWebhookDeliveryById","x-fern-sdk-method-name":"deleteDeliveryById","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Webhook ID"},{"name":"subId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Delivery ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/integrations":{"get":{"tags":["Integrations"],"x-fern-sdk-group-name":["Integrations"],"summary":"List all Integrations","description":"Retrieve a paginated list of integrations. Use cursor for pagination.\n\n**Requires feature: integrations**","operationId":"listIntegrations","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Integrations"],"x-fern-sdk-group-name":["Integrations"],"summary":"Create an Integration","description":"Create an new integration.\n\n**Requires feature: integrations**","operationId":"createIntegration","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","minLength":1,"description":"Integration type (e.g. SLACK, DISCORD)"},"name":{"type":"string","minLength":1,"maxLength":100,"description":"Integration name"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"JSON configuration"},"active":{"type":"boolean","default":true,"description":"Whether integration is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["type","name","config"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/integrations/{id}":{"get":{"tags":["Integrations"],"x-fern-sdk-group-name":["Integrations"],"summary":"Get an Integration","description":"Retrieve an integration by ID or slug (if supported).\n\n**Requires feature: integrations**","operationId":"getIntegration","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Integration ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["Integrations"],"x-fern-sdk-group-name":["Integrations"],"summary":"Update an Integration","description":"Update an existing integration. Only provided fields will be modified.\n\n**Requires feature: integrations**","operationId":"updateIntegration","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Integration ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"Integration name"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"JSON configuration (merged with existing)"},"active":{"type":"boolean","description":"Enable/disable integration"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["SLACK","DISCORD","SALESFORCE","HUBSPOT","OKTA","AUTH0"],"description":"Integration type"},"name":{"type":"string","description":"Integration name"},"active":{"type":"boolean","description":"Whether integration is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"Integration creation timestamp"},"updatedAt":{"type":"string","description":"Integration last update timestamp"}},"required":["id","type","name","active","extendedData","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Integrations"],"x-fern-sdk-group-name":["Integrations"],"summary":"Delete an Integration","description":"Permanently delete an integration.\n\n**Requires feature: integrations**","operationId":"deleteIntegration","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"Integration ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/sso":{"get":{"tags":["SSOs"],"x-fern-sdk-group-name":["SSOs"],"summary":"List all SSOs","description":"Retrieve a paginated list of ssos. Use cursor for pagination.\n\n**Requires feature: sso**","operationId":"listSSOs","x-fern-sdk-method-name":"list","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":15},"description":"Items per page (max 75)"},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"},"description":"Cursor for pagination"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOListResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["SSOs"],"x-fern-sdk-group-name":["SSOs"],"summary":"Create an SSO","description":"Create an new sso.\n\n**Requires feature: sso**","operationId":"createSSO","x-fern-sdk-method-name":"create","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","minLength":1,"description":"Email domain to match (e.g. 'acme.com')"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"Provider configuration (clientId, issuer, etc.)"},"active":{"type":"boolean","default":true,"description":"Whether SSO is active"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}},"required":["provider","domain","config"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/sso/{id}":{"get":{"tags":["SSOs"],"x-fern-sdk-group-name":["SSOs"],"summary":"Get an SSO","description":"Retrieve an sso by ID or slug (if supported).\n\n**Requires feature: sso**","operationId":"getSSO","x-fern-sdk-method-name":"retrieve","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"SSO ID"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SSOResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"tags":["SSOs"],"x-fern-sdk-group-name":["SSOs"],"summary":"Update an SSO","description":"Update an existing sso. Only provided fields will be modified.\n\n**Requires feature: sso**","operationId":"updateSSO","x-fern-sdk-method-name":"update","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"SSO ID"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","minLength":1,"description":"Email domain to match"},"config":{"type":"object","additionalProperties":{"nullable":true},"description":"Provider configuration"},"active":{"type":"boolean","description":"Enable/disable provider"},"extendedData":{"type":"object","additionalProperties":{"nullable":true},"description":"Custom extended data"}}}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string","enum":["OKTA","AUTH0","SAML"],"description":"SSO provider type"},"domain":{"type":"string","description":"Email domain for this provider"},"active":{"type":"boolean","description":"Whether SSO is active"},"extendedData":{"type":"object","nullable":true,"additionalProperties":{"nullable":true},"description":"Custom extended data"},"createdAt":{"type":"string","description":"SSO configuration creation timestamp"},"updatedAt":{"type":"string","description":"SSO configuration last update timestamp"}},"required":["id","provider","domain","active","extendedData","createdAt","updatedAt"]}}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["SSOs"],"x-fern-sdk-group-name":["SSOs"],"summary":"Delete an SSO","description":"Permanently delete an sso.\n\n**Requires feature: sso**","operationId":"deleteSSO","x-fern-sdk-method-name":"delete","security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"SSO ID"}],"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"402":{"description":"Payment Required (Quota Exceeded)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"List all instances","description":"Retrieve all instances owned by the authenticated user. Use the `handle` query parameter to get a single instance with its API key.","operationId":"listInstances","x-fern-sdk-method-name":"list","parameters":[{"name":"handle","in":"query","required":false,"schema":{"type":"string"},"description":"Optional handle to get a single instance"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstanceList"}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Create an instance","description":"Create a new forum instance. Returns the instance details including the API key for accessing the forum API.","operationId":"createInstance","x-fern-sdk-method-name":"create","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInstance"}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Instance"}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Update an instance","description":"Update an instance's name or handle. The `handle` field identifies which instance to update.","operationId":"updateInstance","x-fern-sdk-method-name":"update","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInstance"}}}},"responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"name":{"type":"string"},"handle":{"type":"string"}}}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Delete an instance","description":"Permanently delete an instance. This action cannot be undone.","operationId":"deleteInstance","x-fern-sdk-method-name":"delete","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteInstance"}}}},"responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deleted":{"type":"string"}},"required":["deleted"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/billing":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Get instance billing info","description":"Retrieve billing and subscription information for an instance.","operationId":"getInstanceBilling","x-fern-sdk-method-name":"getBilling","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/BillingInfo"}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Upgrade or downgrade an instance","description":"Change an instance's subscription plan. Returns a checkout URL for upgrades or a billing portal URL for downgrades.","operationId":"changeInstancePlan","x-fern-sdk-method-name":"changePlan","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpgradeInstance"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"action":{"type":"string","enum":["checkout","portal"]},"plan":{"type":"string"},"isAnnual":{"type":"boolean"},"message":{"type":"string"},"url":{"type":"string","format":"uri"}},"required":["action","url"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/api-key":{"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Regenerate instance API key","description":"Generate a new API key for the instance. The old key will be invalidated.","operationId":"regenerateInstanceApiKey","x-fern-sdk-method-name":"regenerateApiKey","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"}},"required":["handle"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"handle":{"type":"string"},"apiKey":{"type":"string"}},"required":["handle","apiKey"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/usage":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Get instance usage stats","description":"Retrieve usage statistics for an instance including API requests, storage, and content counts.","operationId":"getInstanceUsage","x-fern-sdk-method-name":"getUsage","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/UsageStats"}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/team":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"List team members","description":"Retrieve all team members for an instance.","operationId":"listTeamMembers","x-fern-sdk-method-name":"listTeam","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"handle":{"type":"string"},"members":{"type":"array","items":{"$ref":"#/components/schemas/TeamMember"}}},"required":["handle","members"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Invite team members","description":"Invite new team members to an instance.","operationId":"inviteTeamMembers","x-fern-sdk-method-name":"inviteTeam","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"members":{"type":"array","items":{"type":"object","properties":{"email":{"type":"string","format":"email"},"role":{"type":"string","enum":["MEMBER","OWNER"]}},"required":["email"]}}},"required":["handle","members"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"invited":{"type":"array","items":{"type":"string"}}},"required":["invited"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Remove team member","description":"Remove a team member from an instance.","operationId":"removeTeamMember","x-fern-sdk-method-name":"removeTeamMember","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"email":{"type":"string","format":"email"}},"required":["handle","email"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"removed":{"type":"string"}},"required":["removed"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/domains":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"List custom domains","description":"Retrieve all custom domains for an instance.","operationId":"listInstanceDomains","x-fern-sdk-method-name":"listDomains","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"handle":{"type":"string"},"domains":{"type":"array","items":{"$ref":"#/components/schemas/InstanceDomain"}}},"required":["handle","domains"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Add custom domain","description":"Add a custom domain to an instance.","operationId":"addInstanceDomain","x-fern-sdk-method-name":"addDomain","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"name":{"type":"string","description":"Domain name (e.g., forum.example.com)"},"subdomain":{"type":"string"}},"required":["handle","name"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstanceDomain"}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Remove custom domain","description":"Remove a custom domain from an instance.","operationId":"removeInstanceDomain","x-fern-sdk-method-name":"removeDomain","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"name":{"type":"string"}},"required":["handle","name"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"removed":{"type":"string"}},"required":["removed"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/export":{"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Export instance data","description":"Export all data from an instance including threads, posts, users, tags, etc.","operationId":"exportInstanceData","x-fern-sdk-method-name":"exportData","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"}},"required":["handle"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"summary":{"type":"object","properties":{"handle":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"counts":{"type":"object","additionalProperties":{"type":"number"}}},"required":["handle","name","counts"]},"export":{"nullable":true}},"required":["summary"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/webhooks":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"List webhooks","description":"Retrieve all webhooks configured for an instance.","operationId":"listInstanceWebhooks","x-fern-sdk-method-name":"listWebhooks","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"handle":{"type":"string"},"webhooks":{"type":"array","items":{"$ref":"#/components/schemas/InstanceWebhook"}}},"required":["handle","webhooks"]}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Create webhook","description":"Create a new webhook for an instance.","operationId":"createInstanceWebhook","x-fern-sdk-method-name":"createWebhook","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"secret":{"type":"string"},"active":{"type":"boolean"}},"required":["handle","url","events"]}}}},"responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstanceWebhook"}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Update webhook","description":"Update an existing webhook.","operationId":"updateInstanceWebhook","x-fern-sdk-method-name":"updateWebhook","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"webhookId":{"type":"string","format":"uuid"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"secret":{"type":"string"},"active":{"type":"boolean"}},"required":["handle","webhookId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/InstanceWebhook"}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Delete webhook","description":"Delete a webhook from an instance.","operationId":"deleteInstanceWebhook","x-fern-sdk-method-name":"deleteWebhook","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"webhookId":{"type":"string","format":"uuid"}},"required":["handle","webhookId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"deleted":{"type":"string"}},"required":["deleted"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/instances/ownership":{"get":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Get instance ownership","description":"Retrieve owner and creator information for an instance.","operationId":"getInstanceOwnership","x-fern-sdk-method-name":"getOwnership","parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"description":"Instance handle"},{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/OwnershipInfo"}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Transfer ownership","description":"Transfer instance ownership to another user. Only the current owner can transfer ownership.","operationId":"transferInstanceOwnership","x-fern-sdk-method-name":"transferOwnership","parameters":[{"name":"x-provisioning-key","in":"header","required":true,"schema":{"type":"string"},"description":"User provisioning key for platform-level instance management"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"handle":{"type":"string"},"newOwnerEmail":{"type":"string","format":"email","description":"Email of the new owner"}},"required":["handle","newOwnerEmail"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"message":{"type":"string"},"instanceId":{"type":"string","format":"uuid"},"newOwner":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"}},"required":["id","email"]}},"required":["message","instanceId","newOwner"]}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/register":{"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Register for an account","description":"Create a new account and receive a provisioning key for API access. Use this key to create and manage instances.","operationId":"provisioningRegister","x-fern-sdk-method-name":"register","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email address for the account"},"password":{"type":"string","minLength":8,"description":"Password (minimum 8 characters)"},"name":{"type":"string","description":"Display name (optional)"}},"required":["email","password"]}}}},"responses":{"201":{"description":"Account created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProvisioningAuthResponse"}},"required":["data"]}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"Account already exists","content":{"application/json":{"schema":{"type":"object","properties":{"errors":{"type":"object","properties":{"error":{"type":"object","properties":{"msg":{"type":"string"}},"required":["msg"]}},"required":["error"]}},"required":["errors"]}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/provisioning/login":{"post":{"tags":["Provisioning"],"x-fern-sdk-group-name":["provisioning"],"summary":"Login to get provisioning key","description":"Login with email and password to retrieve your provisioning key.","operationId":"provisioningLogin","x-fern-sdk-method-name":"login","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Account email"},"password":{"type":"string","description":"Account password"}},"required":["email","password"]}}}},"responses":{"200":{"description":"Login successful","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProvisioningAuthResponse"}},"required":["data"]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}