diff --git a/.gitignore b/.gitignore index d7256dac6a7..61553718f09 100644 --- a/.gitignore +++ b/.gitignore @@ -19,5 +19,4 @@ redis-data *coverage **/*.dump.sql **/*.dump.sql.gz -external-production-openapi.json external-openapi.json \ No newline at end of file diff --git a/packages/commonwealth/external-production-openapi.json b/packages/commonwealth/external-production-openapi.json new file mode 100644 index 00000000000..9bfedd0c303 --- /dev/null +++ b/packages/commonwealth/external-production-openapi.json @@ -0,0 +1,28046 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "Common API", + "version": "2.0.0" + }, + "servers": [ + { + "url": "https://commonwealth.im/api/v1" + } + ], + "paths": { + "/GetGlobalActivity": { + "get": { + "operationId": "getGlobalActivity", + "tags": ["User"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1, + "maximum": 50 + } + ], + "default": 10 + } + }, + { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1 + } + ], + "default": 1 + }, + "description": "required for tRPC useInfiniteQuery hook, equivalent to page number" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "order_direction", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["ASC", "DESC"] + } + }, + { + "name": "thread_limit", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "comment_limit", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "page": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalPages": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalResults": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "community_icon": { + "type": "string", + "nullable": true + }, + "id": { + "type": "number" + }, + "user_id": { + "type": "number" + }, + "user_address": { + "type": "string" + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "profile_avatar": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "content_url": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "number_of_comments": { + "type": "number" + }, + "created_at": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "locked_at": { + "type": "string", + "nullable": true + }, + "archived_at": { + "type": "string", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean" + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": ["id", "name", "description"], + "additionalProperties": false + }, + "recent_comments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "address": { + "type": "string" + }, + "user_id": { + "type": "number", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "profile_avatar": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "content_url": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": [ + "user", + "channel_id", + "message_id" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "id", + "address", + "body", + "created_at" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "community_id", + "id", + "user_id", + "user_address", + "body", + "title", + "kind", + "stage", + "number_of_comments", + "read_only", + "topic" + ], + "additionalProperties": false + } + } + }, + "required": [ + "limit", + "page", + "totalPages", + "totalResults", + "results" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetUserActivity": { + "get": { + "operationId": "getUserActivity", + "tags": ["User"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1, + "maximum": 50 + } + ], + "default": 10 + } + }, + { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1 + } + ], + "default": 1 + }, + "description": "required for tRPC useInfiniteQuery hook, equivalent to page number" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "order_direction", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["ASC", "DESC"] + } + }, + { + "name": "thread_limit", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "comment_limit", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "page": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalPages": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalResults": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "community_icon": { + "type": "string", + "nullable": true + }, + "id": { + "type": "number" + }, + "user_id": { + "type": "number" + }, + "user_address": { + "type": "string" + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "profile_avatar": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "content_url": { + "type": "string", + "nullable": true + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "number_of_comments": { + "type": "number" + }, + "created_at": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "locked_at": { + "type": "string", + "nullable": true + }, + "archived_at": { + "type": "string", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean" + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": ["id", "name", "description"], + "additionalProperties": false + }, + "recent_comments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "number" + }, + "address": { + "type": "string" + }, + "user_id": { + "type": "number", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "profile_avatar": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "content_url": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string" + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": [ + "user", + "channel_id", + "message_id" + ], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "id", + "address", + "body", + "created_at" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "community_id", + "id", + "user_id", + "user_address", + "body", + "title", + "kind", + "stage", + "number_of_comments", + "read_only", + "topic" + ], + "additionalProperties": false + } + } + }, + "required": [ + "limit", + "page", + "totalPages", + "totalResults", + "results" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetNewContent": { + "get": { + "operationId": "getNewContent", + "tags": ["User"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "joinedCommunityIdsWithNewContent": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": ["joinedCommunityIdsWithNewContent"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetCommunities": { + "get": { + "operationId": "getCommunities", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1, + "maximum": 50 + } + ], + "default": 10 + } + }, + { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1 + } + ], + "default": 1 + }, + "description": "required for tRPC useInfiniteQuery hook, equivalent to page number" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "created_at", + "profile_count", + "lifetime_thread_count", + "last_30_day_thread_count" + ] + } + }, + { + "name": "order_direction", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["ASC", "DESC"] + } + }, + { + "name": "relevance_by", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["tag_ids", "membership"] + } + }, + { + "name": "network", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "ethereum", + "erc20", + "erc721", + "erc1155", + "edgeware", + "osmosis", + "injective", + "solana", + "terra", + "near", + "stargaze", + "evmos", + "kava", + "kyve" + ] + } + }, + { + "name": "base", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["cosmos", "substrate", "ethereum", "near", "solana"] + } + }, + { + "name": "eth_chain_id", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "cosmos_chain_id", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "community_type", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["launchpad", "basic"] + } + }, + { + "name": "tag_ids", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0 + } + } + }, + { + "name": "include_node_info", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "stake_enabled", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "has_groups", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "include_last_30_day_thread_count", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "page": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalPages": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalResults": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "network": { + "type": "string", + "default": "ethereum" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "cosmos_native" + ] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "cw721", + "cw20" + ] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "community_id", + "metadata", + "requirements" + ], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + }, + "last_30_day_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + } + }, + "required": ["id", "name", "base", "active"], + "additionalProperties": false + } + } + }, + "required": [ + "limit", + "page", + "totalPages", + "totalResults", + "results" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetCommunity": { + "get": { + "operationId": "getCommunity", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "id", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "include_node_info", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "anyOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "network": { + "type": "string", + "default": "ethereum" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "community_id", + "metadata", + "requirements" + ], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + }, + "numVotingThreads": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "adminsAndMods": { + "type": "array", + "items": { + "type": "object", + "properties": { + "address": { + "type": "string" + }, + "role": { + "type": "string", + "enum": ["admin", "moderator"] + } + }, + "required": ["address", "role"], + "additionalProperties": false + } + }, + "communityBanner": { + "type": "string", + "nullable": true + } + }, + "required": [ + "id", + "name", + "base", + "active", + "numVotingThreads", + "adminsAndMods" + ], + "additionalProperties": false + }, + { + "not": {} + } + ] + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetMembers": { + "get": { + "operationId": "getMembers", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1, + "maximum": 50 + } + ], + "default": 10 + } + }, + { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1 + } + ], + "default": 1 + }, + "description": "required for tRPC useInfiniteQuery hook, equivalent to page number" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["last_active", "name"] + } + }, + { + "name": "order_direction", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["ASC", "DESC"] + } + }, + { + "name": "search", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "community_id", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "include_roles", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "memberships", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "type": "string", + "enum": ["in-group"] + }, + { + "type": "string", + "pattern": "^in-group:\\d+$" + }, + { + "type": "string", + "enum": ["not-in-group"] + }, + { + "type": "string", + "enum": ["allow-specified-addresses"] + }, + { + "type": "string", + "enum": ["not-allow-specified-addresses"] + } + ] + } + }, + { + "name": "include_group_ids", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "include_stake_balances", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "allowedAddresses", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "page": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalPages": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalResults": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "nullable": true + }, + "addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "address": { + "type": "string" + }, + "stake_balance": { + "type": "number", + "nullable": true + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"] + } + }, + "required": [ + "id", + "community_id", + "address", + "role" + ], + "additionalProperties": false + } + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "last_active": { + "nullable": true, + "description": "string or date" + } + }, + "required": ["user_id", "addresses", "group_ids"], + "additionalProperties": false + } + } + }, + "required": [ + "limit", + "page", + "totalPages", + "totalResults", + "results" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetComments": { + "get": { + "operationId": "getComments", + "tags": ["Comment"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1, + "maximum": 50 + } + ], + "default": 10 + } + }, + { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "anyOf": [ + { + "not": {} + }, + { + "type": "integer", + "minimum": 1 + } + ], + "default": 1 + }, + "description": "required for tRPC useInfiniteQuery hook, equivalent to page number" + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "order_direction", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["ASC", "DESC"] + } + }, + { + "name": "thread_id", + "in": "query", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + { + "name": "comment_id", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + { + "name": "include_user", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "include_reactions", + "in": "query", + "required": false, + "schema": { + "type": "boolean", + "default": false + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "limit": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "page": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalPages": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "totalResults": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "results": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "parent_id": { + "type": "string", + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Thread": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "last_edited": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_commented_on": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "archived_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "locked_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": [ + "user", + "channel_id", + "message_id" + ], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": [ + "admin", + "moderator", + "member" + ], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "hashed_api_key", + "salt" + ], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false, + "nullable": true + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "hashed_api_key", + "salt" + ], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": [ + "admin", + "moderator", + "member" + ], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "user_id", + "tag_id" + ], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "hashed_api_key", + "salt" + ], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "CommentVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": ["comment_id", "body", "timestamp"], + "additionalProperties": false + }, + "nullable": true + }, + "last_edited": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "thread_id", + "address_id", + "body", + "reaction_count", + "search" + ], + "additionalProperties": false + } + } + }, + "required": [ + "limit", + "page", + "totalPages", + "totalResults", + "results" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetTopics": { + "get": { + "operationId": "getTopics", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "community_id", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "with_contest_managers", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "contest_topics": { + "not": {} + }, + "total_threads": { + "type": "number", + "default": 0 + }, + "active_contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "not": {} + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "not": {} + }, + "is_farcaster_contest": { + "type": "boolean" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + } + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest", + "content" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + } + }, + "required": ["community_id"], + "additionalProperties": false + } + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/GetThreads": { + "get": { + "operationId": "getThreads", + "tags": ["Thread"], + "security": [ + { + "apiKey": [] + } + ], + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "community_id", + "in": "query", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "page", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + }, + { + "name": "stage", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "topic_id", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + { + "name": "includePinnedThreads", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "order_by", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": [ + "newest", + "oldest", + "mostLikes", + "mostComments", + "latestActivity" + ] + } + }, + { + "name": "from_date", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "to_date", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "archived", + "in": "query", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "contestAddress", + "in": "query", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "status", + "in": "query", + "required": false, + "schema": { + "type": "string", + "enum": ["active", "pastWinners", "all"] + } + }, + { + "name": "withXRecentComments", + "in": "query", + "required": false, + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "page": { + "type": "number" + }, + "limit": { + "type": "number" + }, + "numVotingThreads": { + "type": "number" + }, + "threads": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_edited": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "deleted_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_commented_on": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "marked_as_spam_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "archived_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "locked_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "address", "community_id"], + "additionalProperties": false + }, + "address": { + "type": "string" + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "profile_name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + } + }, + "required": ["id", "address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "nullable": true + }, + "updated_at": { + "type": "string", + "nullable": true + }, + "deleted_at": { + "type": "string", + "nullable": true + }, + "contest_topics": { + "not": {} + }, + "total_threads": { + "type": "number", + "default": 0 + }, + "active_contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "not": {} + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "not": {} + }, + "is_farcaster_contest": { + "type": "boolean" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + } + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest", + "content" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "address", "community_id"], + "additionalProperties": false + }, + "address": { + "type": "string" + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "profile_name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + } + }, + "required": ["id", "address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ] + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "id", + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "associatedContests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ContestManager": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + } + }, + "required": ["name", "interval"], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + }, + "contest_id": { + "type": "number" + }, + "contest_address": { + "type": "string" + }, + "start_time": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ] + }, + "end_time": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ] + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prize": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "creator_address": { + "type": "string" + } + }, + "required": [ + "prize", + "votes", + "content_id", + "creator_address" + ], + "additionalProperties": false + } + }, + "contest_name": { + "type": "string", + "nullable": true + }, + "contest_interval": { + "type": "number", + "nullable": true + }, + "content_id": { + "type": "number", + "nullable": true + }, + "contest_cancelled": { + "type": "boolean", + "nullable": true + }, + "thread_id": { + "type": "number", + "nullable": true + } + }, + "required": [ + "ContestManager", + "contest_id", + "contest_address", + "start_time", + "end_time", + "score" + ], + "additionalProperties": false + } + }, + "ContestActions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "Contest": { + "type": "object", + "properties": { + "ContestManager": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + } + }, + "required": ["name", "interval"], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + }, + "contest_id": { + "type": "number" + }, + "contest_address": { + "type": "string" + }, + "start_time": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ] + }, + "end_time": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ] + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "prize": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "creator_address": { + "type": "string" + } + }, + "required": [ + "prize", + "votes", + "content_id", + "creator_address" + ], + "additionalProperties": false + } + }, + "contest_name": { + "type": "string", + "nullable": true + }, + "contest_interval": { + "type": "number", + "nullable": true + }, + "content_id": { + "type": "number", + "nullable": true + }, + "contest_cancelled": { + "type": "boolean", + "nullable": true + }, + "thread_id": { + "type": "number", + "nullable": true + } + }, + "required": [ + "ContestManager", + "contest_id", + "contest_address", + "start_time", + "end_time", + "score" + ], + "additionalProperties": false + } + }, + "required": ["content_id", "Contest"], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + } + }, + "Comments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "parent_id": { + "type": "string", + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "deleted_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "marked_as_spam_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": [ + "user", + "channel_id", + "message_id" + ], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "search": { + "not": {} + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Thread": { + "not": {} + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "verified": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": [ + "admin", + "moderator", + "member" + ], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": [ + "user_id", + "tag_id" + ], + "additionalProperties": false + } + }, + "ApiKey": { + "not": {} + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": ["id", "profile"], + "additionalProperties": false + }, + "created_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + } + }, + "required": [ + "id", + "address", + "community_id" + ], + "additionalProperties": false + }, + "address": { + "type": "string" + }, + "last_active": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "string" + } + ], + "nullable": true + }, + "profile_name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + } + }, + "required": ["id", "address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "CommentVersionHistories": { + "not": {} + }, + "address": { + "type": "string" + }, + "profile_name": { + "type": "string" + }, + "profile_avatar": { + "type": "string" + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "id", + "thread_id", + "address_id", + "body", + "reaction_count", + "address", + "user_id" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false + } + } + }, + "required": ["page", "limit", "numVotingThreads", "threads"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateCommunity": { + "post": { + "operationId": "createCommunity", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 255, + "pattern": "^(?!.* {2})[a-zA-Z0-9!@#&():_$\\/\\\\|.\\-]+(?: [a-zA-Z0-9!@#&():_$\\/\\\\|.\\-]+)*$" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "description": { + "type": "string" + }, + "icon_url": { + "type": "string", + "format": "uri" + }, + "social_links": { + "type": "array", + "items": { + "type": "string", + "format": "uri" + }, + "default": [] + }, + "tags": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "offchain" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "token_name": { + "type": "string" + }, + "default_symbol": { + "type": "string", + "maxLength": 9 + }, + "website": { + "type": "string", + "format": "uri" + }, + "github": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/github\\.com\\/" + }, + "telegram": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/t\\.me\\/" + }, + "element": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/matrix\\.to\\/" + }, + "discord": { + "type": "string", + "format": "uri", + "pattern": "^https\\:\\/\\/discord\\.com\\/" + } + }, + "required": [ + "id", + "name", + "chain_node_id", + "base", + "default_symbol" + ], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "network": { + "type": "string", + "default": "ethereum" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "community_id", + "metadata", + "requirements" + ], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + } + }, + "required": ["id", "name", "base", "active"], + "additionalProperties": false + }, + "admin_address": { + "type": "string" + } + }, + "required": ["community"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/UpdateCommunity": { + "post": { + "operationId": "updateCommunity", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "maxLength": 255, + "pattern": "^(?!.* {2})[a-zA-Z0-9!@#&():_$\\/\\\\|.\\-]+(?: [a-zA-Z0-9!@#&():_$\\/\\\\|.\\-]+)*$" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id", "metadata", "requirements"], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + }, + "featuredTopics": { + "type": "array", + "items": { + "type": "string" + } + }, + "snapshot": { + "anyOf": [ + { + "type": "string", + "pattern": ".+\\.(eth|xyz)$" + }, + { + "type": "array", + "items": { + "type": "string", + "pattern": ".+\\.(eth|xyz)$" + } + } + ] + }, + "transactionHash": { + "type": "string" + } + }, + "required": ["id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "network": { + "type": "string", + "default": "ethereum" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "community_id", + "metadata", + "requirements" + ], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + } + }, + "required": ["id", "name", "base", "active"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateTopic": { + "post": { + "operationId": "createTopic", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "description": { + "type": "string", + "default": "" + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + } + }, + "required": ["community_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "user_id": { + "type": "number" + } + }, + "required": ["topic", "user_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/UpdateTopic": { + "post": { + "operationId": "updateTopic", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "topic_id": { + "type": "number" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "description": { + "type": "string", + "default": "" + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + } + }, + "required": ["topic_id", "community_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "additionalProperties": false + }, + "user_id": { + "type": "number" + } + }, + "required": ["topic", "user_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/DeleteTopic": { + "post": { + "operationId": "deleteTopic", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["community_id", "topic_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["community_id", "topic_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateGroup": { + "post": { + "operationId": "createGroup", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "permissions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "CREATE_THREAD", + "CREATE_COMMENT", + "CREATE_THREAD_REACTION", + "CREATE_COMMENT_REACTION", + "UPDATE_POLL" + ] + } + } + }, + "required": ["id", "permissions"], + "additionalProperties": false + } + } + }, + "required": ["community_id", "metadata"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "default_symbol": { + "type": "string", + "default": "" + }, + "network": { + "type": "string", + "default": "ethereum" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "icon_url": { + "type": "string", + "nullable": true + }, + "active": { + "type": "boolean" + }, + "type": { + "type": "string", + "enum": ["chain", "dao", "token", "offchain"], + "default": "chain" + }, + "description": { + "type": "string", + "nullable": true + }, + "social_links": { + "type": "array", + "items": { + "anyOf": [ + { + "not": {} + }, + { + "type": "string", + "format": "uri", + "nullable": true + } + ] + }, + "default": [] + }, + "ss58_prefix": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "stages_enabled": { + "type": "boolean", + "default": true + }, + "custom_stages": { + "type": "array", + "items": { + "type": "string" + }, + "default": [] + }, + "custom_domain": { + "type": "string", + "nullable": true + }, + "block_explorer_ids": { + "type": "string", + "nullable": true + }, + "collapsed_on_homepage": { + "type": "boolean", + "default": false + }, + "default_summary_view": { + "type": "boolean", + "nullable": true + }, + "default_page": { + "type": "string", + "enum": [ + "default_all_discussions_view", + "default_summary_view", + "homepage" + ], + "nullable": true + }, + "has_homepage": { + "type": "string", + "enum": ["true", "false"], + "default": "false", + "nullable": true + }, + "terms": { + "anyOf": [ + { + "anyOf": [ + { + "type": "string" + }, + { + "type": "string", + "enum": [""] + } + ] + }, + { + "type": "string", + "format": "uri" + } + ], + "nullable": true + }, + "admin_only_polling": { + "type": "boolean", + "nullable": true + }, + "bech32_prefix": { + "type": "string", + "nullable": true + }, + "hide_projects": { + "type": "boolean", + "nullable": true + }, + "token_name": { + "type": "string", + "nullable": true + }, + "ce_verbose": { + "type": "boolean", + "nullable": true + }, + "discord_config_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "category": { + "nullable": true + }, + "discord_bot_webhooks_enabled": { + "type": "boolean", + "nullable": true + }, + "directory_page_enabled": { + "type": "boolean", + "default": false + }, + "directory_page_chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "namespace": { + "type": "string", + "nullable": true + }, + "namespace_address": { + "type": "string", + "nullable": true + }, + "redirect": { + "type": "string", + "nullable": true + }, + "snapshot_spaces": { + "type": "array", + "items": { + "type": "string", + "maxLength": 255 + }, + "default": [] + }, + "include_in_digest_email": { + "type": "boolean", + "nullable": true + }, + "profile_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "lifetime_thread_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "banner_text": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Addresses": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "CommunityStakes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_token": { + "type": "string", + "default": "" + }, + "vote_weight": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 1 + }, + "stake_enabled": { + "type": "boolean", + "default": false + }, + "StakeTransactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "transaction_hash": { + "type": "string", + "minLength": 66, + "maxLength": 66 + }, + "community_id": { + "type": "string" + }, + "stake_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 2 + }, + "address": { + "type": "string" + }, + "stake_amount": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stake_price": { + "type": "string" + }, + "stake_direction": { + "type": "string", + "enum": ["buy", "sell"] + }, + "timestamp": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "transaction_hash", + "community_id", + "address", + "stake_amount", + "stake_direction", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "CommunityTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "tag_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["community_id", "tag_id"], + "additionalProperties": false + }, + "nullable": true + }, + "ChainNode": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "eth_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "alt_wallet_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "private_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "balance_type": { + "type": "string", + "enum": [ + "terra", + "ethereum", + "solana", + "cosmos", + "near", + "substrate" + ], + "nullable": true + }, + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "description": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "ss58": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "bech32": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slip44": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "cosmos_chain_id": { + "type": "string", + "pattern": "[a-z0-9]+", + "nullable": true + }, + "cosmos_gov_version": { + "type": "string", + "enum": [ + "v1", + "v1beta1govgen", + "v1beta1", + "v1beta1-attempt-failed", + "v1-attempt-failed" + ], + "nullable": true + }, + "health": { + "type": "string", + "enum": ["failed", "healthy"], + "default": "healthy", + "nullable": true + }, + "contracts": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "chain_node_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "abi_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "token_name": { + "type": "string", + "maxLength": 255 + }, + "symbol": { + "type": "string", + "maxLength": 255 + }, + "type": { + "type": "string", + "maxLength": 255 + }, + "is_factory": { + "type": "boolean", + "default": false + }, + "nickname": { + "type": "string", + "maxLength": 255 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "id", + "address", + "chain_node_id", + "type" + ], + "additionalProperties": false + }, + "nullable": true + }, + "block_explorer": { + "type": "string", + "nullable": true + }, + "max_ce_block_range": { + "type": "number", + "minimum": -1, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "community_id", + "metadata", + "requirements" + ], + "additionalProperties": false + } + }, + "contest_managers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "community_id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "image_url": { + "type": "string", + "nullable": true + }, + "funding_token_address": { + "type": "string", + "nullable": true, + "description": "Provided by admin on creation when stake funds are not used" + }, + "prize_percentage": { + "type": "integer", + "minimum": 0, + "maximum": 100, + "nullable": true, + "description": "Percentage of pool used for prizes in recurring contests" + }, + "payout_structure": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "description": "Sorted array of percentages for prize, from first to last" + }, + "interval": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "Recurring contest interval, 0 when one-off" + }, + "ticker": { + "type": "string", + "default": "ETH" + }, + "decimals": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 18 + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "cancelled": { + "type": "boolean", + "nullable": true, + "description": "Flags when contest policy is cancelled by admin" + }, + "ended": { + "type": "boolean", + "nullable": true, + "description": "Flags when the one-off contest has ended and rollover was completed" + }, + "contests": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "start_time": { + "type": "string", + "format": "date-time" + }, + "end_time": { + "type": "string", + "format": "date-time" + }, + "score_updated_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "score": { + "type": "array", + "items": { + "type": "object", + "properties": { + "creator_address": { + "type": "string" + }, + "content_id": { + "type": "string" + }, + "votes": { + "type": "string" + }, + "prize": { + "type": "string" + }, + "tickerPrize": { + "type": "number" + } + }, + "required": [ + "creator_address", + "content_id", + "votes", + "prize" + ], + "additionalProperties": false + }, + "description": "Contest score, sorted from first to last", + "nullable": true + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "contest_address": { + "type": "string", + "description": "On-Chain contest manager address" + }, + "contest_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain contest id, 0 when one-off" + }, + "content_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "description": "On-Chain content id, 0 when adding" + }, + "actor_address": { + "type": "string" + }, + "action": { + "type": "string", + "enum": ["added", "upvoted"], + "description": "Type of content action" + }, + "content_url": { + "type": "string", + "nullable": true, + "description": "Content url" + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true, + "description": "Thread id mapped from content url" + }, + "thread_title": { + "type": "string", + "nullable": true + }, + "voting_power": { + "type": "string", + "description": "Voting power of address when action was recorded" + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date-time when action was recorded" + } + }, + "required": [ + "contest_address", + "contest_id", + "content_id", + "actor_address", + "action", + "voting_power", + "created_at" + ], + "additionalProperties": false, + "description": "On-Chain content related actions on contest instance" + }, + "nullable": true + } + }, + "required": [ + "contest_address", + "contest_id", + "start_time", + "end_time" + ], + "additionalProperties": false, + "description": "On-Chain contest instance" + }, + "nullable": true + }, + "farcaster_frame_url": { + "type": "string", + "nullable": true + }, + "farcaster_frame_hashes": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "neynar_webhook_id": { + "type": "string", + "nullable": true, + "description": "Neynar ID of the CastCreated webhook" + }, + "neynar_webhook_secret": { + "type": "string", + "nullable": true, + "description": "Neynar secret for the CastCreated webhook" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "is_farcaster_contest": { + "type": "boolean" + } + }, + "required": [ + "contest_address", + "community_id", + "name", + "payout_structure", + "interval", + "created_at", + "is_farcaster_contest" + ], + "additionalProperties": false, + "description": "On-Chain Contest Manager" + } + } + }, + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/UpdateGroup": { + "post": { + "operationId": "updateGroup", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "topics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "permissions": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "CREATE_THREAD", + "CREATE_COMMENT", + "CREATE_THREAD_REACTION", + "CREATE_COMMENT_REACTION", + "UPDATE_POLL" + ] + } + } + }, + "required": ["id", "permissions"], + "additionalProperties": false + } + } + }, + "required": ["community_id", "group_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "community_id": { + "type": "string" + }, + "metadata": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "required_requirements": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "membership_ttl": { + "type": "number", + "nullable": true + } + }, + "required": ["name", "description"], + "additionalProperties": false + }, + "requirements": { + "type": "array", + "items": { + "anyOf": [ + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["threshold"] + }, + "data": { + "type": "object", + "properties": { + "threshold": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "source": { + "anyOf": [ + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": [ + "erc20", + "erc721", + "erc1155", + "spl" + ] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "contract_address": { + "type": "string", + "pattern": "^[a-zA-Z0-9]{32,44}$" + }, + "token_id": { + "type": "string", + "pattern": "^[0-9]+$", + "nullable": true + } + }, + "required": [ + "source_type", + "evm_chain_id", + "contract_address" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["eth_native"] + }, + "evm_chain_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": [ + "source_type", + "evm_chain_id" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cosmos_native"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "token_symbol": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "token_symbol" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "source_type": { + "type": "string", + "enum": ["cw721", "cw20"] + }, + "cosmos_chain_id": { + "type": "string" + }, + "contract_address": { + "type": "string" + } + }, + "required": [ + "source_type", + "cosmos_chain_id", + "contract_address" + ], + "additionalProperties": false + } + ] + } + }, + "required": ["threshold", "source"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "rule": { + "type": "string", + "enum": ["allow"] + }, + "data": { + "type": "object", + "properties": { + "allow": { + "type": "array", + "items": { + "type": "string", + "pattern": "^0x[a-fA-F0-9]{40}$" + } + } + }, + "required": ["allow"], + "additionalProperties": false + } + }, + "required": ["rule", "data"], + "additionalProperties": false + } + ] + } + }, + "is_system_managed": { + "type": "boolean" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/DeleteGroup": { + "post": { + "operationId": "deleteGroup", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["community_id", "group_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["community_id", "group_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateThread": { + "post": { + "operationId": "createThread", + "tags": ["Thread"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "body": { + "type": "string" + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": ["discussion", "link"] + }, + "stage": { + "type": "string" + }, + "url": { + "type": "string" + }, + "read_only": { + "type": "boolean" + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false + } + }, + "required": [ + "community_id", + "topic_id", + "title", + "body", + "kind", + "stage", + "read_only" + ], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "last_edited": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_commented_on": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "archived_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "locked_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false, + "nullable": true + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/UpdateThread": { + "post": { + "operationId": "updateThread", + "tags": ["Thread"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "title": { + "type": "string" + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "stage": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + }, + "locked": { + "type": "boolean" + }, + "pinned": { + "type": "boolean" + }, + "archived": { + "type": "boolean" + }, + "spam": { + "type": "boolean" + }, + "collaborators": { + "type": "object", + "properties": { + "toAdd": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "toRemove": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + } + }, + "additionalProperties": false + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + } + }, + "required": ["thread_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "last_edited": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_commented_on": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "archived_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "locked_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false, + "nullable": true + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/DeleteThread": { + "post": { + "operationId": "deleteThread", + "tags": ["Thread"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + } + }, + "required": ["thread_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + } + }, + "required": ["thread_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateComment": { + "post": { + "operationId": "createComment", + "tags": ["Comment"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_msg_id": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string", + "minLength": 1 + }, + "parent_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "parent_msg_id": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false + } + }, + "required": ["thread_id", "body"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "parent_id": { + "type": "string", + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Thread": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "last_edited": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_commented_on": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "archived_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "locked_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false, + "nullable": true + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "CommentVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": ["comment_id", "body", "timestamp"], + "additionalProperties": false + }, + "nullable": true + }, + "community_id": { + "type": "string" + } + }, + "required": [ + "thread_id", + "address_id", + "body", + "reaction_count", + "search", + "community_id" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/UpdateComment": { + "post": { + "operationId": "updateComment", + "tags": ["Comment"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string", + "minLength": 1 + } + }, + "required": ["comment_id", "body"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "parent_id": { + "type": "string", + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Thread": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "title": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "stage": { + "type": "string" + }, + "body": { + "type": "string" + }, + "url": { + "type": "string", + "nullable": true + }, + "topic_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "pinned": { + "type": "boolean", + "nullable": true + }, + "community_id": { + "type": "string" + }, + "view_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "links": { + "type": "array", + "items": { + "type": "object", + "properties": { + "source": { + "type": "string", + "enum": [ + "snapshot", + "proposal", + "thread", + "web", + "template" + ] + }, + "identifier": { + "type": "string" + }, + "title": { + "type": "string", + "nullable": true + } + }, + "required": ["source", "identifier"], + "additionalProperties": false + }, + "nullable": true + }, + "content_url": { + "type": "string", + "nullable": true + }, + "read_only": { + "type": "boolean", + "nullable": true + }, + "has_poll": { + "type": "boolean", + "nullable": true + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "last_edited": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_commented_on": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "marked_as_spam_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "archived_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "locked_at": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "discord_meta": { + "type": "object", + "properties": { + "user": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": ["id", "username"], + "additionalProperties": false + }, + "channel_id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "required": ["user", "channel_id", "message_id"], + "additionalProperties": false, + "nullable": true + }, + "reaction_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction_weights_sum": { + "type": "string", + "nullable": true + }, + "comment_count": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "activity_rank_date": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "created_by": { + "type": "string", + "nullable": true + }, + "profile_name": { + "type": "string", + "nullable": true + }, + "search": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "object", + "additionalProperties": {} + } + ] + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "topic": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "default": "General" + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "description": { + "type": "string", + "default": "" + }, + "telegram": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "featured_in_sidebar": { + "type": "boolean", + "default": false + }, + "featured_in_new_post": { + "type": "boolean", + "default": false + }, + "default_offchain_template": { + "type": "string", + "nullable": true + }, + "order": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "channel_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "group_ids": { + "type": "array", + "items": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "default": [] + }, + "default_offchain_template_backup": { + "type": "string", + "nullable": true + }, + "weighted_voting": { + "type": "string", + "enum": ["stake", "erc20"], + "nullable": true + }, + "token_address": { + "type": "string", + "nullable": true, + "description": "token address, used for ERC20 topics" + }, + "token_symbol": { + "type": "string", + "nullable": true, + "description": "token symbol, used for ERC20 topics" + }, + "vote_weight_multiplier": { + "type": "number", + "exclusiveMinimum": true, + "minimum": 0, + "nullable": true, + "description": "vote weight multiplier, used for ERC20 topics" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "nullable": true + } + }, + "required": ["community_id"], + "additionalProperties": false, + "nullable": true + }, + "collaborators": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "nullable": true + }, + "reactions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false + }, + "nullable": true + }, + "ThreadVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "description": "Address of the creator of the post or the collaborator" + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": [ + "thread_id", + "address", + "body", + "timestamp" + ], + "additionalProperties": false + }, + "nullable": true + } + }, + "required": [ + "address_id", + "title", + "kind", + "body", + "community_id", + "search" + ], + "additionalProperties": false, + "nullable": true + }, + "Reaction": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + } + }, + "required": ["address_id", "reaction"], + "additionalProperties": false, + "nullable": true + }, + "CommentVersionHistories": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "body": { + "type": "string" + }, + "timestamp": { + "type": "string", + "format": "date-time" + }, + "content_url": { + "type": "string", + "nullable": true + } + }, + "required": ["comment_id", "body", "timestamp"], + "additionalProperties": false + }, + "nullable": true + }, + "community_id": { + "type": "string" + } + }, + "required": [ + "thread_id", + "address_id", + "body", + "reaction_count", + "search", + "community_id" + ], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/DeleteComment": { + "post": { + "operationId": "deleteComment", + "tags": ["Comment"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + } + }, + "required": ["comment_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + } + }, + "required": ["comment_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateThreadReaction": { + "post": { + "operationId": "createThreadReaction", + "tags": ["Reaction"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "thread_msg_id": { + "type": "string", + "nullable": true + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + } + }, + "required": ["thread_id", "reaction"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "community_id": { + "type": "string" + } + }, + "required": ["address_id", "reaction", "community_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/CreateCommentReaction": { + "post": { + "operationId": "createCommentReaction", + "tags": ["Reaction"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "comment_msg_id": { + "type": "string", + "nullable": true + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + } + }, + "required": ["comment_id", "reaction"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "reaction": { + "type": "string", + "enum": ["like"] + }, + "thread_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "comment_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "proposal_id": { + "type": "number", + "nullable": true + }, + "calculated_voting_weight": { + "type": "string", + "nullable": true + }, + "canvas_signed_data": { + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Address": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "address": { + "type": "string", + "maxLength": 255 + }, + "community_id": { + "type": "string", + "maxLength": 255 + }, + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "nullable": true + }, + "verification_token": { + "type": "string", + "maxLength": 255 + }, + "verification_token_expires": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "verified": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "last_active": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "ghost_address": { + "type": "boolean", + "default": false + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ], + "nullable": true + }, + "block_info": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "is_user_default": { + "type": "boolean", + "default": false + }, + "role": { + "type": "string", + "enum": ["admin", "moderator", "member"], + "default": "member" + }, + "is_banned": { + "type": "boolean", + "default": false + }, + "hex": { + "type": "string", + "maxLength": 64, + "nullable": true + }, + "User": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "email": { + "type": "string", + "maxLength": 255, + "format": "email", + "nullable": true + }, + "isAdmin": { + "type": "boolean", + "default": false, + "nullable": true + }, + "disableRichText": { + "type": "boolean", + "default": false + }, + "emailVerified": { + "type": "boolean", + "default": false, + "nullable": true + }, + "selected_community_id": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "emailNotificationInterval": { + "type": "string", + "enum": ["weekly", "never"], + "default": "never" + }, + "promotional_emails_enabled": { + "type": "boolean", + "nullable": true + }, + "is_welcome_onboard_flow_complete": { + "type": "boolean", + "default": false + }, + "profile": { + "type": "object", + "properties": { + "name": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "email": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "website": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "bio": { + "type": "string", + "nullable": true + }, + "avatar_url": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "slug": { + "type": "string", + "maxLength": 255, + "nullable": true + }, + "socials": { + "type": "array", + "items": { + "type": "string" + }, + "nullable": true + }, + "background_image": { + "type": "object", + "properties": { + "url": { + "type": "string", + "nullable": true + }, + "imageBehavior": { + "type": "string", + "nullable": true + } + }, + "additionalProperties": false, + "nullable": true + } + }, + "additionalProperties": false + }, + "xp_points": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647, + "default": 0, + "nullable": true + }, + "ProfileTags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "number" + }, + "tag_id": { + "type": "number" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "Tag": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "name": { + "type": "string" + } + }, + "required": ["name"], + "additionalProperties": false, + "nullable": true + } + }, + "required": ["user_id", "tag_id"], + "additionalProperties": false + } + }, + "ApiKey": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "hashed_api_key": { + "type": "string" + }, + "salt": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["hashed_api_key", "salt"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["profile"], + "additionalProperties": false + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + } + }, + "required": ["address", "community_id"], + "additionalProperties": false + }, + "community_id": { + "type": "string" + } + }, + "required": ["address_id", "reaction", "community_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/DeleteReaction": { + "post": { + "operationId": "deleteReaction", + "tags": ["Reaction"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "reaction_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "canvas_signed_data": { + "type": "string" + }, + "canvas_msg_id": { + "type": "string" + } + }, + "required": ["community_id", "reaction_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "reaction_id": { + "type": "integer", + "minimum": 0, + "maximum": 2147483647 + }, + "canvas_signed_data": { + "type": "string", + "nullable": true + }, + "canvas_msg_id": { + "type": "string", + "nullable": true + } + }, + "required": ["reaction_id"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/JoinCommunity": { + "post": { + "operationId": "joinCommunity", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + } + }, + "required": ["community_id"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "base": { + "type": "string", + "enum": [ + "cosmos", + "substrate", + "ethereum", + "near", + "solana" + ] + }, + "address_id": { + "type": "number" + }, + "address": { + "type": "string" + }, + "wallet_id": { + "type": "string", + "enum": [ + "magic", + "polkadot", + "metamask", + "walletconnect", + "keplr-ethereum", + "keplr", + "leap", + "near", + "terrastation", + "terra-walletconnect", + "cosm-metamask", + "phantom", + "coinbase" + ] + }, + "ss58Prefix": { + "type": "number" + } + }, + "required": ["community_id", "base", "address_id", "address"], + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + }, + "/BanAddress": { + "post": { + "operationId": "banAddress", + "tags": ["Community"], + "security": [ + { + "apiKey": [] + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "community_id": { + "type": "string" + }, + "address": { + "type": "string" + } + }, + "required": ["community_id", "address"], + "additionalProperties": false + } + } + } + }, + "parameters": [ + { + "in": "header", + "name": "address", + "required": false, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": {}, + "additionalProperties": false + } + } + } + }, + "default": { + "$ref": "#/components/responses/error" + } + } + } + } + }, + "components": { + "securitySchemes": { + "apiKey": { + "type": "apiKey", + "description": "Create an API key on Common to use the Common API", + "name": "x-api-key", + "in": "header" + } + }, + "responses": { + "error": { + "description": "Error response", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "message": { + "type": "string" + }, + "code": { + "type": "string" + }, + "issues": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message": { + "type": "string" + } + }, + "required": ["message"], + "additionalProperties": false + } + } + }, + "required": ["message", "code"], + "additionalProperties": false + } + } + } + } + } + } +} diff --git a/packages/commonwealth/server/scripts/validate-external-api-versioning.ts b/packages/commonwealth/server/scripts/validate-external-api-versioning.ts index 869f69e3cf0..a9ff881397a 100644 --- a/packages/commonwealth/server/scripts/validate-external-api-versioning.ts +++ b/packages/commonwealth/server/scripts/validate-external-api-versioning.ts @@ -90,10 +90,10 @@ async function validateExternalApiVersioning() { throw new Error('Must provide @commonxyz/api-client package version'); } - await downloadFile( - 'https://commonwealth.im/api/v1/openapi.json', - productionOasPath, - ); + // await downloadFile( + // 'https://commonwealth.im/api/v1/openapi.json', + // productionOasPath, + // ); const newOas = trpc.toOpenApiDocument( trpcRouter,