{
  "openapi": "3.1.0",
  "info": {
    "title": "Cabi.Chat API",
    "version": "0.1.0",
    "description": "One API over the Cabi.Chat graph: everything the web app does, your scripts and agents can do too. Authenticate with a personal access token from Profile → Personal access tokens: `Authorization: Bearer <token>`. Public cards can be read without a token. Reading a card needs read access, creating or editing needs write, and actions need execute."
  },
  "servers": [
    {
      "url": "https://api.cabi.chat"
    }
  ],
  "tags": [
    {
      "name": "agendas",
      "description": "Agendas: the instructions, tools and secrets your oracles follow"
    },
    {
      "name": "api_endpoints",
      "description": "API endpoint cards: tools your oracles can call"
    },
    {
      "name": "articles",
      "description": "Article cards: yours and public ones"
    },
    {
      "name": "boards",
      "description": "Board cards and their canvas"
    },
    {
      "name": "call-ai",
      "description": "Answers from a self-hosted widget's oracle"
    },
    {
      "name": "campaigns",
      "description": "Campaigns: radars, announcements, reactions, joins and overviews"
    },
    {
      "name": "cards",
      "description": "Any card: archive, version history and view statistics"
    },
    {
      "name": "console",
      "description": "Your verified website and its traffic"
    },
    {
      "name": "contacts",
      "description": "Project contacts and contact reveal"
    },
    {
      "name": "coupons",
      "description": "Coupons: issue, check, clip, quote and pay with them"
    },
    {
      "name": "docs",
      "description": "Doc cards"
    },
    {
      "name": "funds",
      "description": "Balance, deposits, transactions and AI spend"
    },
    {
      "name": "geo",
      "description": "Places: cities and countries"
    },
    {
      "name": "graph",
      "description": "Find your cards, resolve handles, see how cards connect"
    },
    {
      "name": "landing",
      "description": "The public landing feed"
    },
    {
      "name": "likes",
      "description": "Likes and saved cards"
    },
    {
      "name": "linked",
      "description": "Cards shared with you through an access link"
    },
    {
      "name": "links",
      "description": "Access links you share"
    },
    {
      "name": "media",
      "description": "Image upload"
    },
    {
      "name": "oracles",
      "description": "Oracles: Telegram accounts, Telegram bots and website widgets"
    },
    {
      "name": "pats",
      "description": "Personal access tokens"
    },
    {
      "name": "plan",
      "description": "Plans that make several projects Pro"
    },
    {
      "name": "posts",
      "description": "Post cards: your posts and radar matches"
    },
    {
      "name": "projects",
      "description": "Project cards: create, edit, Pro and the starter radar"
    },
    {
      "name": "relations",
      "description": "Typed relations between cards, labelled by a rubric"
    },
    {
      "name": "rooms",
      "description": "Rooms: conversations and messages"
    },
    {
      "name": "rubrics",
      "description": "Rubrics: tags and taxonomies"
    },
    {
      "name": "search",
      "description": "Graph search"
    },
    {
      "name": "secrets",
      "description": "Secrets your oracle tools use"
    },
    {
      "name": "self",
      "description": "Your profile"
    },
    {
      "name": "sheets",
      "description": "Sheet cards"
    },
    {
      "name": "sse",
      "description": "Live events"
    },
    {
      "name": "telegram_groups",
      "description": "Telegram groups"
    },
    {
      "name": "workspaces",
      "description": "Workspaces: collect cards"
    }
  ],
  "paths": {
    "/v0/accessible/cards": {
      "get": {
        "tags": [
          "graph"
        ],
        "description": "Cards of the given types the caller can use: the cards they own plus the cards granted to them, with the caller's effective permissions on each. q matches titles in every language and the handle, case-insensitive; a nonce, @handle, ws.handle or cabi.chat URL in q puts that exact card first. Order: exact hit, then title or handle prefix, then other matches, each by most recent update. Page with next_cursor until it is null.",
        "operationId": "accessible_cards",
        "parameters": [
          {
            "name": "type",
            "in": "query",
            "description": "card type; repeat (type=project&type=workspace) or comma-separate",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "q",
            "in": "query",
            "description": "text, nonce, @handle or cabi.chat URL",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "next_cursor from the previous page",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "page size, default 30, max 100",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessibleCardsResponse"
                }
              }
            }
          },
          "400": {
            "description": "bad type, cursor or limit"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/call-ai": {
      "post": {
        "tags": [
          "call-ai"
        ],
        "operationId": "call_ai",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallAiRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallAiResponse"
                }
              }
            }
          },
          "400": {
            "description": "app access token required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/geo/cities/{geonameid}": {
      "get": {
        "tags": [
          "geo"
        ],
        "operationId": "get_city",
        "parameters": [
          {
            "name": "geonameid",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoCity"
                }
              }
            }
          },
          "404": {
            "description": "city not found"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/geo/countries/{iso}": {
      "get": {
        "tags": [
          "geo"
        ],
        "operationId": "get_country",
        "parameters": [
          {
            "name": "iso",
            "in": "path",
            "description": "ISO-3166-1 alpha-2",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoCountry"
                }
              }
            }
          },
          "404": {
            "description": "country not found"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/agendas/{ident}": {
      "get": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_get_public",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/agendas/{ident}/prompt": {
      "get": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_get_prompt",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "If-None-Match",
            "in": "header",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "304": {
            "description": "not modified"
          },
          "401": {
            "description": ""
          },
          "404": {
            "description": "not found or not writable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/api_endpoints": {
      "get": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicApiEndpointsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/api_endpoints/{nonce}": {
      "get": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/articles": {
      "get": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicArticlesResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/articles/{nonce}": {
      "get": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/boards": {
      "get": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicBoardsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/boards/{nonce}": {
      "get": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/coupons/validate": {
      "get": {
        "tags": [
          "coupons"
        ],
        "operationId": "validate",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "whether the code can be used; terms are shown for publicly offered coupons",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ValidateResponse"
                }
              }
            }
          },
          "429": {
            "description": "too many requests; retry later"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/docs": {
      "get": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDocsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/docs/{nonce}": {
      "get": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/my/edges": {
      "get": {
        "tags": [
          "graph"
        ],
        "operationId": "graph_edges",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "source_nonce",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "target_nonce",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "source_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "target_type",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "field",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EdgesResponse"
                }
              }
            }
          },
          "400": {
            "description": "kind invalid or no anchor"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/my/granted": {
      "get": {
        "tags": [
          "links"
        ],
        "operationId": "list_granted",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GrantedResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/oracles/{nonce}": {
      "get": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/posts": {
      "get": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicPostsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/posts/{nonce}": {
      "get": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/projects": {
      "get": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicProjectsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/projects/{ident}/contacts/{nonce}/reveal": {
      "post": {
        "tags": [
          "contacts"
        ],
        "operationId": "reveal",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevealResponse"
                }
              }
            }
          },
          "401": {
            "description": "this contact is revealed to signed-in people only"
          },
          "404": {
            "description": "project not visible or contact not on it"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/projects/{nonce}": {
      "get": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/public/landing": {
      "get": {
        "tags": [
          "landing"
        ],
        "operationId": "landing_public",
        "parameters": [
          {
            "name": "root",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LandingPage"
                }
              }
            }
          },
          "404": {
            "description": "unknown root or page"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/relations": {
      "get": {
        "tags": [
          "relations"
        ],
        "operationId": "relations_list",
        "parameters": [
          {
            "name": "card",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dir",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "rel",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "before",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "relations of the card that you may see, newest first; dir = out | in | both",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RelationsResponse"
                }
              }
            }
          },
          "400": {
            "description": "card, rel or before not numeric, or dir not out|in|both"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/resolve/{ident}": {
      "get": {
        "tags": [
          "graph"
        ],
        "operationId": "graph_resolve",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "description": "numeric nonce, @handle or bare handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResolveResponse"
                }
              }
            }
          },
          "404": {
            "description": "unknown or not readable"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/rubrics": {
      "get": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicRubricsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/rubrics/{nonce}": {
      "get": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contained_limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "contained_offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/sheets": {
      "get": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicSheetsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/sheets/{nonce}": {
      "get": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/telegram_groups": {
      "get": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicTelegramGroupsResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/telegram_groups/{nonce}": {
      "get": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/telegram_groups/{nonce}/overview": {
      "get": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_group_overview",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupOverviewResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/workspaces": {
      "get": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_list_public",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicWorkspacesResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/graph/workspaces/{nonce}": {
      "get": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_get_public",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contained_limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "contained_offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found or not public"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/likes": {
      "get": {
        "tags": [
          "likes"
        ],
        "operationId": "list_liked",
        "parameters": [
          {
            "name": "target_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LikedResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/likes/count": {
      "get": {
        "tags": [
          "likes"
        ],
        "operationId": "like_count",
        "parameters": [
          {
            "name": "target_type",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target_nonce",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LikeCountResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/likes/saved-subset": {
      "post": {
        "tags": [
          "likes"
        ],
        "operationId": "saved_subset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LikedSubsetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LikedSubsetResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/likes/subset": {
      "post": {
        "tags": [
          "likes"
        ],
        "operationId": "liked_subset",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LikedSubsetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LikedSubsetResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/likes/toggle": {
      "post": {
        "tags": [
          "likes"
        ],
        "operationId": "toggle_like",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleLikeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToggleLikeResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/linked/{token}": {
      "get": {
        "tags": [
          "linked"
        ],
        "operationId": "root",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "description": "opaque link token",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedRootResponse"
                }
              }
            }
          },
          "400": {
            "description": "ecosystem claim needs one of your projects (none owned, several and none picked, or not yours)"
          },
          "401": {
            "description": "ecosystem link requires a session"
          },
          "403": {
            "description": "link not available to you"
          },
          "404": {
            "description": "link not available"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/linked/{token}/{card_type}/{nonce}": {
      "get": {
        "tags": [
          "linked"
        ],
        "operationId": "target",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card_type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "project",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkedCard"
                }
              }
            }
          },
          "400": {
            "description": "ecosystem claim needs one of your projects"
          },
          "401": {
            "description": "ecosystem link requires a session"
          },
          "403": {
            "description": "link not available to you"
          },
          "404": {
            "description": "card not available through this link"
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/agendas": {
      "get": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_list",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgendasResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAgendaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateAgendaResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/agendas/{ident}": {
      "get": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_get",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_delete",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_update",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAgendaRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebAgenda"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/agendas/{ident}/claim": {
      "post": {
        "tags": [
          "agendas"
        ],
        "operationId": "agendas_claim",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClaimLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClaimLinkResponse"
                }
              }
            }
          },
          "400": {
            "description": "not an ecosystem link"
          },
          "403": {
            "description": "link not available for this claim"
          },
          "404": {
            "description": "agenda or link not available"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/api_endpoints": {
      "get": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEndpointsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiEndpointRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/api_endpoints/{nonce}": {
      "get": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "api_endpoints"
        ],
        "operationId": "api_endpoints_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchApiEndpointRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/archive": {
      "post": {
        "tags": [
          "cards"
        ],
        "operationId": "card_set_archived",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ArchiveRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArchiveResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/articles": {
      "get": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticlesResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateArticleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/articles/{nonce}": {
      "get": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "articles"
        ],
        "operationId": "articles_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchArticleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/boards": {
      "get": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BoardsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBoardRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/boards/{nonce}": {
      "get": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchBoardRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/boards/{nonce}/scene": {
      "put": {
        "tags": [
          "boards"
        ],
        "operationId": "boards_put_scene",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSceneRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutSceneResponse"
                }
              }
            }
          },
          "400": {
            "description": "stale revision"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns": {
      "get": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RadarsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRadarRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}": {
      "get": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRadarRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/matches/evict": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_matches_evict",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvictMatchesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvictMatchesResponse"
                }
              }
            }
          },
          "400": {
            "description": "this campaign has no matches"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/matches/sweep": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_matches_sweep",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SweepMatchesRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SweepMatchesResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/matches/{post}/draft": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_match_draft",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "post",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DraftOutreachRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DraftOutreachResponse"
                }
              }
            }
          },
          "400": {
            "description": "rejected"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/matches/{post}/outreach": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_match_outreach",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "post",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConfirmOutreachRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfirmOutreachResponse"
                }
              }
            }
          },
          "400": {
            "description": "rejected"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/performance": {
      "get": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_performance",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PerformanceResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/sends": {
      "get": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaign_sends",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendsResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/start": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_start",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RadarPowerResponse"
                }
              }
            }
          },
          "400": {
            "description": "start refused: no project assigned, the project is not Pro, or you may not act for that project (reason in the error body)"
          },
          "404": {
            "description": "not found, or you cannot edit this campaign"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/campaigns/{nonce}/stop": {
      "post": {
        "tags": [
          "campaigns"
        ],
        "operationId": "campaigns_stop",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RadarPowerResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found, or you cannot edit this campaign"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/cards/{nonce}/stats": {
      "get": {
        "tags": [
          "cards"
        ],
        "operationId": "card_stats",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "window_days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Views of the card by people (a project includes its anchored cards); your own views are not counted; needs write access",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardStatsResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found or not writable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/cards/{nonce}/versions": {
      "get": {
        "tags": [
          "cards"
        ],
        "operationId": "card_versions_list",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "original card nonce",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionsResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found or history not readable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "cards"
        ],
        "operationId": "card_versions_set",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "original card nonce",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetVersioningRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "a snapshot or a version workspace"
          },
          "404": {
            "description": "not found or not the owner"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "cards"
        ],
        "operationId": "card_versions_snapshot",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "original card nonce",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionItem"
                }
              }
            }
          },
          "400": {
            "description": "a snapshot, or history is off for this card"
          },
          "404": {
            "description": "not found or not writable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/cards/{nonce}/versions/{version}/make-current": {
      "post": {
        "tags": [
          "cards"
        ],
        "operationId": "card_versions_make_current",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "original card nonce",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "path",
            "description": "version number to restore",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MakeCurrentResponse"
                }
              }
            }
          },
          "400": {
            "description": "a snapshot, or history is off for this card"
          },
          "404": {
            "description": "not found, not writable, or version not readable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/console/domains": {
      "get": {
        "tags": [
          "console"
        ],
        "operationId": "console_list",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DomainsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "console"
        ],
        "operationId": "issue",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueDomainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "verification token for the host; place it as DNS TXT cabi-verify=<token>, /cabi-verify-<token>.html, or <meta name=cabi-verify content=<token>>",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebDomain"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/console/domains/verify": {
      "post": {
        "tags": [
          "console"
        ],
        "operationId": "verify",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyDomainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VerifyDomainResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/console/domains/{host}": {
      "delete": {
        "tags": [
          "console"
        ],
        "operationId": "remove",
        "parameters": [
          {
            "name": "host",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/console/traffic/campaign": {
      "get": {
        "tags": [
          "console"
        ],
        "operationId": "traffic_campaign",
        "parameters": [
          {
            "name": "campaign",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "window_days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Landing visits attributed to the campaign by utm_campaign, per utm_source and landed project",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CampaignTrafficResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/console/traffic/summary": {
      "get": {
        "tags": [
          "console"
        ],
        "operationId": "summary",
        "parameters": [
          {
            "name": "project",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "window_days",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "UTM opens on Cabi.Chat and clicks through to the project's verified website",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrafficSummaryResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/contacts/{nonce}": {
      "delete": {
        "tags": [
          "contacts"
        ],
        "operationId": "contacts_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "contacts"
        ],
        "operationId": "patch_contact",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchContactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebContact"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/coupons": {
      "get": {
        "tags": [
          "coupons"
        ],
        "operationId": "coupons_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "kind",
            "in": "query",
            "description": "`clipped` = your wallet (your own clips); omit for the scoped card list.",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "coupons"
        ],
        "operationId": "coupons_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebCoupon"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/coupons/clip": {
      "post": {
        "tags": [
          "coupons"
        ],
        "operationId": "clip",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ClipCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ClipCouponResponse"
                }
              }
            }
          },
          "400": {
            "description": "this code cannot be clipped"
          },
          "401": {
            "description": "authentication required"
          },
          "429": {
            "description": "too many requests; retry later"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/coupons/quote": {
      "get": {
        "tags": [
          "coupons"
        ],
        "operationId": "quote",
        "parameters": [
          {
            "name": "coupon",
            "in": "query",
            "description": "Your clip nonce, or the code of a coupon in your wallet.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "target",
            "in": "query",
            "description": "`pro` (default: one month of Pro on a project) or a plan kind: `monthly`, `yearly`, `lifetime`.",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "project",
            "in": "query",
            "description": "Pro only: the project the charge would be for (informational).",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuoteResponse"
                }
              }
            }
          },
          "400": {
            "description": "coupon refused (same reasons as the real charge)"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/coupons/{nonce}": {
      "get": {
        "tags": [
          "coupons"
        ],
        "operationId": "coupons_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "coupons"
        ],
        "operationId": "coupons_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "400": {
            "description": "a clipped coupon is archived, never deleted"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "coupons"
        ],
        "operationId": "coupons_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebCoupon"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/docs": {
      "get": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDocRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/docs/{nonce}": {
      "get": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchDocRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/docs/{nonce}/scene": {
      "put": {
        "tags": [
          "docs"
        ],
        "operationId": "docs_put_scene",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSceneRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutSceneResponse"
                }
              }
            }
          },
          "400": {
            "description": "stale revision"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/ai-usage": {
      "get": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_ai_usage",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "description": "Period start: RFC3339 or YYYY-MM-DD (UTC). Default: start of the current UTC month.",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Period end (exclusive): RFC3339 or YYYY-MM-DD (UTC). Default: now.",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AiUsageResponse"
                }
              }
            }
          },
          "400": {
            "description": "bad period"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/check-balance": {
      "get": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_check_balance",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CheckBalanceResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/crypto-prices": {
      "get": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_crypto_prices",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CryptoPricesResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/sync-deposit/{network}": {
      "post": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_sync_deposit",
        "parameters": [
          {
            "name": "network",
            "in": "path",
            "description": "ton | btc",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SyncDepositResponse"
                }
              }
            }
          },
          "400": {
            "description": "deposits cannot be checked now; retry later"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/transactions": {
      "get": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_list_transactions",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListTransactionsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/funds/wallets": {
      "get": {
        "tags": [
          "funds"
        ],
        "operationId": "funds_wallets",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/links": {
      "get": {
        "tags": [
          "links"
        ],
        "operationId": "links_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "targets",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinksResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "links"
        ],
        "operationId": "links_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebLink"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/links/{nonce}": {
      "get": {
        "tags": [
          "links"
        ],
        "operationId": "links_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "links"
        ],
        "operationId": "links_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "links"
        ],
        "operationId": "links_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebLink"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/links/{nonce}/grants": {
      "get": {
        "tags": [
          "links"
        ],
        "operationId": "links_grants",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LinkGrantsResponse"
                }
              }
            }
          },
          "404": {
            "description": "link not found or not writable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/links/{nonce}/grants/{grant}": {
      "delete": {
        "tags": [
          "links"
        ],
        "operationId": "links_grant_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grant",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "link or grant not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "links"
        ],
        "operationId": "links_grant_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "grant",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchLinkGrantRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebLinkGrant"
                }
              }
            }
          },
          "400": {
            "description": "bad expires_at"
          },
          "404": {
            "description": "link or grant not found"
          },
          "409": {
            "description": "link revoked, expired or sharing no cards"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/media/upload": {
      "post": {
        "tags": [
          "media"
        ],
        "operationId": "upload",
        "requestBody": {
          "description": "image files to upload",
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "the stored images; put the returned media refs on your card",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadResponse"
                }
              }
            }
          },
          "400": {
            "description": "not an image, too large, or unreadable"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles": {
      "get": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OraclesResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOracleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "the oracle's access token, when one is issued, is shown only once",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/register": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_register",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegisterRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegisterResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}": {
      "get": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchOracleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/campaigns": {
      "get": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracle_campaigns",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "this oracle's activity grouped by campaign, latest first; title and kind are empty when you cannot see the campaign",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OracleCampaignsResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found or not owned"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/performance": {
      "get": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracle_performance",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PerformanceResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/reauth/code": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_reauth_code",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReauthCodeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "state: awaiting_password | complete | awaiting_code with error invalid_code (try again) | failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReauthResponse"
                }
              }
            }
          },
          "400": {
            "description": "re-auth session expired or belongs to another oracle"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "not found or not owned"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/reauth/password": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_reauth_password",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReauthPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "state: complete | awaiting_password with error invalid_password (try again) | failed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReauthResponse"
                }
              }
            }
          },
          "400": {
            "description": "re-auth session expired or belongs to another oracle"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "not found or not owned"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/reauth/start": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_reauth_start",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReauthStartRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "state: awaiting_code | confirm_required (the oracle does not need a new sign-in; resend with confirm) | phone_required | busy, rate_limited or flood_wait (retry after retry_after seconds) | failed. Too many attempts end the session.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReauthResponse"
                }
              }
            }
          },
          "400": {
            "description": "not a Telegram account oracle, or its project is not Pro"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "not found or not owned"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/regenerate-token": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_regenerate_token",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the new token; shown only once",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegenerateTokenResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/start": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_start",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PowerResponse"
                }
              }
            }
          },
          "400": {
            "description": "start refused: the oracle must sign in again, a Telegram account oracle needs a Pro project, or the Free plan's oracle is already in use (reason in the error body)"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "not found, or you cannot edit this oracle"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/oracles/{nonce}/stop": {
      "post": {
        "tags": [
          "oracles"
        ],
        "operationId": "oracles_stop",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PowerResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found, or you cannot edit this oracle"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/pats": {
      "get": {
        "tags": [
          "pats"
        ],
        "operationId": "pats_list_mine",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PatsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          },
          "403": {
            "description": "only you manage your tokens, from your own session"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "pats"
        ],
        "operationId": "pats_mint",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MintPatRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "the new token; shown only once",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebMintedPat"
                }
              }
            }
          },
          "403": {
            "description": "only you manage your tokens, from your own session"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/pats/{nonce}": {
      "delete": {
        "tags": [
          "pats"
        ],
        "operationId": "pats_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "403": {
            "description": "only you manage your tokens, from your own session"
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/pats/{nonce}/revoke": {
      "post": {
        "tags": [
          "pats"
        ],
        "operationId": "pats_revoke",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebPat"
                }
              }
            }
          },
          "403": {
            "description": "only you manage your tokens, from your own session"
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/plan": {
      "get": {
        "tags": [
          "plan"
        ],
        "operationId": "plan_get",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "plan"
        ],
        "operationId": "plan_purchase",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PurchasePlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PurchasePlanResponse"
                }
              }
            }
          },
          "400": {
            "description": "insufficient funds, no seats left or coupon refused"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "plan"
        ],
        "operationId": "plan_cancel",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/plan/projects/{nonce}": {
      "post": {
        "tags": [
          "plan"
        ],
        "operationId": "plan_attach_project",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "400": {
            "description": "no active plan or no free slot"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "plan"
        ],
        "operationId": "plan_detach_project",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "400": {
            "description": "project is not on a plan slot"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/posts": {
      "get": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PostsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/posts/{nonce}": {
      "get": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "posts"
        ],
        "operationId": "posts_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchPostRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects": {
      "get": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects/{ident}/contacts": {
      "get": {
        "tags": [
          "contacts"
        ],
        "operationId": "contacts_list",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactsResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "contacts"
        ],
        "summary": "Add a contact to a project.",
        "operationId": "contacts_create",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebContact"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects/{nonce}": {
      "get": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects/{nonce}/pro": {
      "post": {
        "tags": [
          "projects"
        ],
        "operationId": "project_pro_activate",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "optional; {coupon} applies a clipped coupon",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProActivateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProActivateResponse"
                }
              }
            }
          },
          "400": {
            "description": "insufficient funds, coupon refused"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "projects"
        ],
        "operationId": "project_pro_cancel",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects/{nonce}/pro/deactivate": {
      "post": {
        "tags": [
          "projects"
        ],
        "operationId": "project_pro_deactivate",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/projects/{nonce}/starter-radar": {
      "post": {
        "tags": [
          "projects"
        ],
        "operationId": "projects_starter_radar",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "the caller's own project",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "optional: keywords [[...]] (AND across groups, OR inside), not_groups [...], city; defaults come from the project's rubrics, title and location",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StarterRadarRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "the project's starter radar (created now, or the existing one with created=false; the body is then ignored), with its trial and view links for you",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StarterRadarResponse"
                }
              }
            }
          },
          "400": {
            "description": "invalid keywords, or starter radars not available"
          },
          "401": {
            "description": "authentication required"
          },
          "403": {
            "description": "only a person signed in as themselves can open one, or a link claim was refused"
          },
          "404": {
            "description": "project not found or not yours"
          },
          "409": {
            "description": "you already have a starter radar on another project (one per person)"
          },
          "429": {
            "description": "another starter radar is being prepared; retry"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/relations": {
      "post": {
        "tags": [
          "relations"
        ],
        "operationId": "relations_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRelationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "created, or the existing edge with the same source, target and rel (created = false)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateRelationResponse"
                }
              }
            }
          },
          "400": {
            "description": "nonces not numeric, source equals target, or Idempotency-Key missing"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "source not writable, or target or rel rubric not readable, or rel is not a rubric"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/relations/{nonce}": {
      "delete": {
        "tags": [
          "relations"
        ],
        "operationId": "relations_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "relation edge nonce",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "deleted"
          },
          "401": {
            "description": "authentication required"
          },
          "404": {
            "description": "no such relation you can delete"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "rooms_list",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoomsResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "rooms_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebRoom"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/outreach": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "outreach",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OutreachRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebRoom"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "get_room",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "scene",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the room, its state, unread count and recent messages",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebRoom"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "rooms"
        ],
        "operationId": "patch_room",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRoomRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "owner only: edit the room card; returns the room as GET does",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebRoom"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/rename": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "rename",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "history",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "before_seq",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "thread_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HistoryResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/ban": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "ban",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberActionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/callback": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_callback",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CallbackRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/delete": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_delete",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/edit": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_edit",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/handoff": {
      "delete": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_handoff_clear",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/invite": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "invite",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/kick": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "kick",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberActionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/listener": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_listener",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ListenerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListenerResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/mark-read": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "mark_read",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarkReadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/members": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "members",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MembersResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/pin": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "pin",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PinRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/react": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_react",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/role": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "set_role",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/send": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "send",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/send-media": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "send_media",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/SendMediaForm"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/settings": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "get_settings",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "set_settings",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/swag": {
      "get": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_swag_get",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The room's personal agenda (`swag`): the agenda the oracle's next turn in this room follows and where it comes from (room, campaign or default), plus `assignable`: the agendas you may set. An agenda you cannot execute shows without its nonce. Needs your own session and write access to the room, its oracle and (in a campaign room) the campaign. The other person in the conversation never sees it.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoomSwagResponse"
                }
              }
            }
          },
          "400": {
            "description": "not a Telegram oracle conversation"
          },
          "403": {
            "description": "you cannot edit this room's agenda"
          },
          "404": {
            "description": "no room (or its oracle) you can edit"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_swag_set",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomSwagRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Sets (`swag`: nonce) or clears (`swag`: null) the room's personal agenda; it overrides the campaign's for every later turn in this room, history unchanged. It must be a personal agenda you own or may execute; if you lose that right, the campaign's agenda applies again. Needs your own session and write access to the room, its oracle and (in a campaign room) the campaign.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoomSwagResponse"
                }
              }
            }
          },
          "400": {
            "description": "agenda not found or not executable for you, not a personal agenda, or not a Telegram oracle conversation"
          },
          "403": {
            "description": "you cannot edit this room's agenda"
          },
          "404": {
            "description": "no room (or its oracle) you can edit"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/threads": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "new_thread",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewThreadRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/trigger": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_trigger",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Ask the oracle to continue a Telegram conversation: it takes a turn at `at` (\"20 minutes\", \"tomorrow 10:00\" or an ISO time in UTC; default \"1 minute\"), guided by your `note`. With `draft: true` the turn runs now, nothing is sent, and the answer carries the composed `draft` (`text`, `parts`) and `done_reason`. Oracle owner only.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TriggerResponse"
                }
              }
            }
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/typing": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "talk_typing",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TypingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/talk/unban": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "unban",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemberActionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "400": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rooms/{ident}/visibility": {
      "post": {
        "tags": [
          "rooms"
        ],
        "operationId": "set_visibility",
        "parameters": [
          {
            "name": "ident",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisibilityRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rubrics": {
      "get": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RubricsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRubricRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rubrics/{nonce}": {
      "get": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contained_limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "contained_offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchRubricRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/rubrics/{nonce}/{card}": {
      "post": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_contain",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "workspace nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "description": "card nonce to contain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": "workspace not yours or card unknown"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_uncontain",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "rubrics"
        ],
        "operationId": "rubrics_reorder",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/secrets": {
      "get": {
        "tags": [
          "secrets"
        ],
        "operationId": "secrets_list_mine",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "secrets"
        ],
        "operationId": "secrets_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSecretRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebSecret"
                }
              }
            }
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/secrets/{nonce}": {
      "get": {
        "tags": [
          "secrets"
        ],
        "operationId": "secrets_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "secrets"
        ],
        "operationId": "secrets_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "secrets"
        ],
        "operationId": "secrets_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSecretRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/self": {
      "get": {
        "tags": [
          "self"
        ],
        "operationId": "get_self",
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebUser"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "self"
        ],
        "operationId": "patch_self",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelfPatchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebUser"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/sheets": {
      "get": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SheetsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSheetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/sheets/{nonce}": {
      "get": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "scene embedded",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchSheetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/sheets/{nonce}/scene": {
      "put": {
        "tags": [
          "sheets"
        ],
        "operationId": "sheets_put_scene",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PutSceneRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PutSceneResponse"
                }
              }
            }
          },
          "400": {
            "description": "stale revision"
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/sse": {
      "get": {
        "tags": [
          "sse"
        ],
        "operationId": "stream",
        "responses": {
          "200": {
            "description": "a server-sent event stream of live conversation events"
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/telegram_groups": {
      "get": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "archived",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TelegramGroupsResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGroupsWorkspaceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateGroupsWorkspaceResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/telegram_groups/{nonce}": {
      "get": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "writable: you may edit it (owner, or shared with you with write)",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "telegram_groups"
        ],
        "operationId": "telegram_groups_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchTelegramGroupRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "400": {
            "description": "empty title"
          },
          "404": {
            "description": "not found or not writable"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/workspaces": {
      "get": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_list_mine",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "scope",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "containing",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkspacesResponse"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWorkspaceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "401": {
            "description": "authentication required"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/workspaces/{nonce}": {
      "get": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_get_mine",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "contained_limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64"
            }
          },
          {
            "name": "contained_offset",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "integer",
                "null"
              ],
              "format": "int64",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_delete",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeleteResponse"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "workspaces"
        ],
        "operationId": "workspaces_patch",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "numeric nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PatchWorkspaceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CardPage"
                }
              }
            }
          },
          "404": {
            "description": "not found"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/my/workspaces/{nonce}/{card}": {
      "post": {
        "tags": [
          "workspaces"
        ],
        "operationId": "contain",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "description": "workspace nonce or @handle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "description": "card nonce to contain",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContainRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": "workspace not yours or card unknown"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "workspaces"
        ],
        "operationId": "uncontain",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "patch": {
        "tags": [
          "workspaces"
        ],
        "operationId": "reorder",
        "parameters": [
          {
            "name": "nonce",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "card",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": ""
          },
          "404": {
            "description": ""
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/search/geo/cities": {
      "get": {
        "tags": [
          "geo"
        ],
        "operationId": "search_cities",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "country",
            "in": "query",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoCitiesResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/search/geo/countries": {
      "get": {
        "tags": [
          "geo"
        ],
        "operationId": "search_countries",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeoCountriesResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/search/graph": {
      "post": {
        "tags": [
          "search"
        ],
        "operationId": "search_cabi",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GraphSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GraphSearchResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/search/graph/keyword": {
      "post": {
        "tags": [
          "search"
        ],
        "operationId": "search_keyword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GraphSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GraphSearchResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/v0/search/graph/vector": {
      "post": {
        "tags": [
          "search"
        ],
        "operationId": "search_vector",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GraphSearchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GraphSearchResponse"
                }
              }
            }
          }
        },
        "security": [
          {},
          {
            "bearerAuth": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "A personal access token (or, for a self-hosted widget, its app access token)."
      }
    },
    "schemas": {
      "AccessSource": {
        "type": "string",
        "enum": [
          "owned",
          "granted"
        ]
      },
      "AccessibleCard": {
        "type": "object",
        "required": [
          "nonce",
          "card_type",
          "title",
          "source",
          "permissions",
          "updated_at"
        ],
        "properties": {
          "avatar_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "card_type": {
            "type": "string"
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "permissions": {
            "$ref": "#/components/schemas/WebPermissions"
          },
          "snippet": {
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "$ref": "#/components/schemas/AccessSource"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "type": "string"
          }
        }
      },
      "AccessibleCardsResponse": {
        "type": "object",
        "required": [
          "items",
          "next_cursor"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccessibleCard"
            }
          },
          "next_cursor": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "AgendasResponse": {
        "type": "object",
        "required": [
          "agendas",
          "total"
        ],
        "properties": {
          "agendas": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebAgenda"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "AiUsageCampaign": {
        "type": "object",
        "required": [
          "charged_usd",
          "requests",
          "tokens"
        ],
        "properties": {
          "campaign": {
            "type": [
              "string",
              "null"
            ],
            "description": "Campaign nonce; null = turns outside your campaigns."
          },
          "charged_usd": {
            "type": "number",
            "format": "double"
          },
          "requests": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "tokens": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "AiUsageOracle": {
        "type": "object",
        "required": [
          "charged_usd",
          "requests",
          "tokens"
        ],
        "properties": {
          "charged_usd": {
            "type": "number",
            "format": "double"
          },
          "oracle": {
            "type": [
              "string",
              "null"
            ],
            "description": "Oracle nonce; null = oracles you do not own."
          },
          "requests": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "tokens": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "AiUsageResponse": {
        "type": "object",
        "required": [
          "currency",
          "from",
          "to",
          "charged_usd",
          "billed_usd",
          "pending_usd",
          "requests",
          "tokens",
          "by_campaign",
          "by_oracle"
        ],
        "properties": {
          "billed_usd": {
            "type": "number",
            "format": "double",
            "description": "Already charged for the period."
          },
          "by_campaign": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AiUsageCampaign"
            }
          },
          "by_oracle": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AiUsageOracle"
            }
          },
          "charged_usd": {
            "type": "number",
            "format": "double",
            "description": "AI spend for the period at the charged rate."
          },
          "currency": {
            "type": "string"
          },
          "from": {
            "type": "string"
          },
          "pending_usd": {
            "type": "number",
            "format": "double",
            "description": "Spend for the period not yet charged."
          },
          "requests": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "to": {
            "type": "string"
          },
          "tokens": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "ApiEndpointsResponse": {
        "type": "object",
        "required": [
          "api_endpoints",
          "total"
        ],
        "properties": {
          "api_endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ArchiveRequest": {
        "type": "object",
        "required": [
          "nonce",
          "archived"
        ],
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "nonce": {
            "type": "string"
          }
        }
      },
      "ArchiveResponse": {
        "type": "object",
        "required": [
          "nonce",
          "archived"
        ],
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "nonce": {
            "type": "string"
          }
        }
      },
      "ArticlesResponse": {
        "type": "object",
        "required": [
          "articles",
          "total"
        ],
        "properties": {
          "articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "BoardsResponse": {
        "type": "object",
        "required": [
          "boards",
          "total"
        ],
        "properties": {
          "boards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "CallAiRequest": {
        "type": "object",
        "required": [
          "client_nonce",
          "correspondent_ident",
          "text"
        ],
        "properties": {
          "client_nonce": {
            "type": "string"
          },
          "correspondent_ident": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "thread": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CallAiResponse": {
        "type": "object",
        "required": [
          "text",
          "model",
          "input_tokens",
          "output_tokens",
          "commission_pct"
        ],
        "properties": {
          "commission_pct": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "input_tokens": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "model": {
            "type": "string"
          },
          "output_tokens": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "paused": {
            "type": "boolean",
            "description": "The oracle is paused (its owner's balance cannot pay for AI): `text` is empty and nothing should be sent."
          },
          "text": {
            "type": "string"
          }
        }
      },
      "CallbackRequest": {
        "type": "object",
        "required": [
          "event_id",
          "callback_data"
        ],
        "properties": {
          "callback_data": {
            "type": "string"
          },
          "event_id": {
            "type": "string"
          }
        }
      },
      "CampaignTrafficResponse": {
        "type": "object",
        "required": [
          "timeline",
          "rows",
          "visits",
          "uniques"
        ],
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignVisitRow"
            }
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisitDay"
            }
          },
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "visits": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "CampaignVisitRow": {
        "type": "object",
        "required": [
          "utm_source",
          "project",
          "visits",
          "uniques"
        ],
        "properties": {
          "project": {
            "type": "string"
          },
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "utm_source": {
            "type": "string"
          },
          "visits": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "CardDetail": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "membership",
              "membership_source",
              "auto_renew",
              "card_type"
            ],
            "properties": {
              "auto_renew": {
                "type": "boolean"
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "project"
                ]
              },
              "contacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContactTile"
                }
              },
              "membership": {
                "type": "string"
              },
              "membership_source": {
                "type": "string"
              },
              "pro_until": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "article"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "card_type"
            ],
            "properties": {
              "author_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "post"
                ]
              },
              "entities": {
                "type": "array",
                "items": {}
              },
              "expires_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source_group": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "source_group_username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "scene_rev",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "doc"
                ]
              },
              "scene": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scene_rev": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "scene_rev",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "sheet"
                ]
              },
              "scene": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scene_rev": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "scene_rev",
              "kind",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "board"
                ]
              },
              "kind": {
                "type": "string"
              },
              "scene": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scene_rev": {
                "type": "integer",
                "format": "int64"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "workspace"
                ]
              },
              "contained": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CardTile"
                }
              },
              "seqnum": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "kind",
              "directed",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "rubric"
                ]
              },
              "contained": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CardTile"
                }
              },
              "directed": {
                "type": "boolean"
              },
              "geo": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/GeoPin"
                  }
                ]
              },
              "inverse_title": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "propertyNames": {
                  "type": "string"
                }
              },
              "kind": {
                "type": "string"
              },
              "seqnum": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "operation_id",
              "method",
              "path",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "api_endpoint"
                ]
              },
              "domain": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "method": {
                "type": "string"
              },
              "operation_id": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "request_schema": {},
              "response_schema": {}
            }
          },
          {
            "type": "object",
            "required": [
              "tg_id_str",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "telegram_group"
                ]
              },
              "members_count": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "tg_id_str": {
                "type": "string"
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "kind",
              "hosting",
              "status",
              "listen_dm",
              "card_type"
            ],
            "properties": {
              "agenda": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "avatar": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/MediaRef"
                  }
                ]
              },
              "bio": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "oracle"
                ]
              },
              "first_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "gender": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "groups_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "hosting": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              },
              "last_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "listen_dm": {
                "type": "boolean"
              },
              "phone_masked": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "restricted": {
                "type": "boolean"
              },
              "restricted_until": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "restriction_checked_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "sent_posts_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "session_note": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string"
              },
              "token": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "token_preview": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "webhook_url": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "kind",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "agenda"
                ]
              },
              "follow_ups": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WebAgendaFollowUps"
                  }
                ]
              },
              "kind": {
                "type": "string"
              },
              "llm": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WebAgendaLlm"
                  }
                ]
              },
              "swag": {
                "type": [
                  "string",
                  "null"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "kind",
              "area",
              "is_accumulative",
              "card_type"
            ],
            "properties": {
              "area": {
                "type": "string"
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "coupon"
                ]
              },
              "clipped": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WebCouponClipped"
                  }
                ]
              },
              "clipped_validity_days": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "code": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "discount_type": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "discount_value": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "earning_rate": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "is_accumulative": {
                "type": "boolean"
              },
              "kind": {
                "type": "string"
              },
              "max_accumulated_value": {
                "type": [
                  "number",
                  "null"
                ],
                "format": "double"
              },
              "max_uses_per_user": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "mint_capacity": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "template": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WebCouponTemplate"
                  }
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "token",
              "link_publicity",
              "read",
              "write",
              "execute",
              "status",
              "claimable_by",
              "targets",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "link"
                ]
              },
              "claimable_by": {
                "type": "string"
              },
              "execute": {
                "type": "boolean"
              },
              "expires_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "grant_ttl": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "link_publicity": {
                "type": "string"
              },
              "max_openers": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64"
              },
              "read": {
                "type": "boolean"
              },
              "status": {
                "type": "string"
              },
              "targets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ShareTargetRef"
                }
              },
              "token": {
                "type": "string"
              },
              "write": {
                "type": "boolean"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "key_name",
              "is_or_key",
              "card_type"
            ],
            "properties": {
              "card_type": {
                "type": "string",
                "enum": [
                  "secret"
                ]
              },
              "host": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "is_or_key": {
                "type": "boolean"
              },
              "key_name": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "kind",
              "status",
              "is_active",
              "is_outreach_enabled",
              "is_auto_enabled",
              "keyword_groups",
              "not_groups",
              "speed",
              "mode",
              "forward",
              "reactions",
              "batch_messages",
              "batch_window",
              "posts_list",
              "telegram_groups_list",
              "oracles_list",
              "card_type"
            ],
            "properties": {
              "agenda": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "batch_messages": {
                "type": "integer",
                "format": "int64"
              },
              "batch_window": {
                "type": "string"
              },
              "canonical_matches_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "card_type": {
                "type": "string",
                "enum": [
                  "campaign"
                ]
              },
              "evicted_matches_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "forward": {
                "type": "boolean"
              },
              "is_active": {
                "type": "boolean"
              },
              "is_auto_enabled": {
                "type": "boolean"
              },
              "is_outreach_enabled": {
                "type": "boolean"
              },
              "keyword_groups": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "kind": {
                "type": "string"
              },
              "matches_seen_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "matches_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "mode": {
                "type": "string"
              },
              "not_groups": {
                "type": "array",
                "items": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "oracles_list": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "outreach_campaign": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "overview_chat_link": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "overviews_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "posts_list": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "project_nonce": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "reactions": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sent_posts_workspace": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "speed": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "telegram_groups_list": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "CardMedia": {
        "type": "object",
        "properties": {
          "avatars": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MediaRef"
            }
          },
          "body": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MediaRef"
            }
          },
          "body_total": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "pending_count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "CardPage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CardDetail"
          },
          {
            "type": "object",
            "required": [
              "nonce",
              "canonical_lang",
              "i18n",
              "writable",
              "like_count",
              "fav_count"
            ],
            "properties": {
              "canonical_lang": {
                "type": "string"
              },
              "contained_next_offset": {
                "type": [
                  "integer",
                  "null"
                ],
                "format": "int64",
                "minimum": 0
              },
              "created_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "executable": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "fav_count": {
                "type": "integer",
                "format": "int64"
              },
              "handle": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "i18n": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/WebI18nEntry"
                }
              },
              "like_count": {
                "type": "integer",
                "format": "int64"
              },
              "liked_by_viewer": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "lists": {
                "type": "object",
                "additionalProperties": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/CardTile"
                  }
                },
                "propertyNames": {
                  "type": "string"
                }
              },
              "location": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/LocationWire"
                  }
                ]
              },
              "media": {
                "$ref": "#/components/schemas/CardMedia"
              },
              "mentioned": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CardTile"
                }
              },
              "nonce": {
                "type": "string"
              },
              "owner": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "permissions": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/WebPermissions"
                  }
                ]
              },
              "primary_rubrics": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "project": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "publicity": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "rubrics": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RubricRef"
                }
              },
              "saved_by_viewer": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "shared_by_viewer": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "shared_with_viewer": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "source_url": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "tagged": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CardTile"
                }
              },
              "updated_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "visibility": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "writable": {
                "type": "boolean"
              }
            }
          }
        ]
      },
      "CardStatsResponse": {
        "type": "object",
        "required": [
          "day",
          "week",
          "month",
          "timeline",
          "pages",
          "from",
          "sources",
          "mentions",
          "tile_shown",
          "tile_opened"
        ],
        "properties": {
          "day": {
            "$ref": "#/components/schemas/StatsReach"
          },
          "from": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsKey"
            },
            "description": "Where views came from: a Cabi.Chat page path, an external domain, \"\" = direct."
          },
          "mentions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsKey"
            },
            "description": "Projects only: cards opened from its mention links, key \"<card_type>/<nonce>\"."
          },
          "month": {
            "$ref": "#/components/schemas/StatsReach"
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsKey"
            },
            "description": "Viewed paths: a project's own page and its anchored cards (hotspots); for other cards their own path(s)."
          },
          "sources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsKey"
            },
            "description": "utm_source values; \"\" = none."
          },
          "tile_opened": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "tile_shown": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StatsDay"
            }
          },
          "week": {
            "$ref": "#/components/schemas/StatsReach"
          }
        }
      },
      "CardTile": {
        "type": "object",
        "required": [
          "card_type",
          "nonce",
          "title"
        ],
        "properties": {
          "available_langs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "card_type": {
            "type": "string"
          },
          "contained_types": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "entities": {
            "type": "array",
            "items": {}
          },
          "fav_count": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "geo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoPin"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "has_children": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "item_count": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "like_count": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "liked_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "location": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationWire"
              }
            ]
          },
          "media": {
            "$ref": "#/components/schemas/CardMedia"
          },
          "mentioned": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MentionRef"
            }
          },
          "nonce": {
            "type": "string"
          },
          "places_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pro": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationWire"
              }
            ]
          },
          "rubrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RubricRef"
            }
          },
          "rubrics_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "saved_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "seo_intents": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "shared_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shared_with_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "snippet": {
            "type": [
              "string",
              "null"
            ]
          },
          "source_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "tags_in": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "teaser": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CheckBalanceResponse": {
        "type": "object",
        "required": [
          "balance",
          "currency"
        ],
        "properties": {
          "available": {
            "type": [
              "string",
              "null"
            ],
            "description": "balance minus pending_usd: what is left for AI and other charges; at zero your oracles and campaigns pause."
          },
          "balance": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "pending_usd": {
            "type": [
              "string",
              "null"
            ],
            "description": "AI spend not yet charged; absent when it cannot be read right now."
          }
        }
      },
      "ClaimLinkRequest": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "ClaimLinkResponse": {
        "type": "object",
        "required": [
          "agenda",
          "cards"
        ],
        "properties": {
          "agenda": {
            "type": "string"
          },
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          }
        }
      },
      "ClipCouponRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Coupon code."
          },
          "template": {
            "type": [
              "string",
              "null"
            ],
            "description": "Template nonce, instead of a code."
          }
        }
      },
      "ClipCouponResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/WebCoupon"
          },
          {
            "type": "object",
            "required": [
              "already_clipped"
            ],
            "properties": {
              "already_clipped": {
                "type": "boolean",
                "description": "true: you already held a clip of this template; it is returned unchanged."
              }
            }
          }
        ]
      },
      "ConfirmOutreachRequest": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "text": {
            "type": "string"
          }
        }
      },
      "ConfirmOutreachResponse": {
        "type": "object",
        "required": [
          "ok"
        ],
        "properties": {
          "ok": {
            "type": "boolean"
          }
        }
      },
      "ContactTile": {
        "type": "object",
        "required": [
          "nonce",
          "kind",
          "is_primary",
          "publicity",
          "requires_reveal",
          "revealed"
        ],
        "properties": {
          "is_primary": {
            "type": "boolean"
          },
          "kind": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "publicity": {
            "type": "string"
          },
          "requires_reveal": {
            "type": "boolean"
          },
          "revealed": {
            "type": "boolean"
          },
          "value": {
            "type": [
              "string",
              "null"
            ]
          },
          "verified": {
            "type": "boolean"
          }
        }
      },
      "ContactsResponse": {
        "type": "object",
        "required": [
          "contacts"
        ],
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebContact"
            }
          }
        }
      },
      "ContainRequest": {
        "type": "object",
        "properties": {
          "seqnum": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          }
        }
      },
      "CouponCharge": {
        "type": "object",
        "description": "The coupon part of a charge: list price, discount, the clip and its template. A fully covered charge\nshows with amount 0 and this field (a paid charge has amount < 0).",
        "required": [
          "clip",
          "template",
          "list_usd",
          "discount_usd"
        ],
        "properties": {
          "clip": {
            "type": "string"
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_usd": {
            "type": "number",
            "format": "double"
          },
          "list_usd": {
            "type": "number",
            "format": "double"
          },
          "template": {
            "type": "string"
          }
        }
      },
      "CouponsResponse": {
        "type": "object",
        "required": [
          "coupons",
          "total"
        ],
        "properties": {
          "clips": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebCoupon"
            },
            "description": "kind=clipped only: your clips with their wallet state (remaining, can_use)."
          },
          "coupons": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "CreateAgendaRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "api_endpoints": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follow_ups": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebAgendaFollowUpsPatch"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "instructions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "swag": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateAgendaResponse": {
        "type": "object",
        "required": [
          "app"
        ],
        "properties": {
          "app": {
            "$ref": "#/components/schemas/WebAgenda"
          }
        }
      },
      "CreateApiEndpointRequest": {
        "type": "object",
        "required": [
          "title",
          "operation_id",
          "method",
          "path"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "method": {
            "type": "string"
          },
          "operation_id": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "request_schema": {},
          "response_schema": {},
          "title": {
            "type": "string"
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateArticleRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateBoardRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateContactRequest": {
        "type": "object",
        "required": [
          "kind",
          "value"
        ],
        "properties": {
          "is_primary": {
            "type": "boolean"
          },
          "kind": {
            "type": "string",
            "description": "One of: Phone, Email, Website, Telegram, WhatsApp, Instagram, Facebook, TikTok, LinkedIn, Discord, X, YouTube, Other (exact spelling, e.g. \"Telegram\")."
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "requires_reveal": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "CreateCouponRequest": {
        "type": "object",
        "required": [
          "title",
          "area"
        ],
        "properties": {
          "area": {
            "type": "string"
          },
          "clipped_validity_days": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "earning_rate": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "is_accumulative": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_active": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_accumulated_value": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_discount_cap_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_uses_per_user": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "mint_capacity": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_from": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateDocRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateGroupsWorkspaceRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreateWorkspaceRequest"
          },
          {
            "type": "object",
            "properties": {
              "telegram_group_handles": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        ]
      },
      "CreateGroupsWorkspaceResponse": {
        "type": "object",
        "required": [
          "workspace",
          "handles"
        ],
        "properties": {
          "handles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/HandleOutcome"
            }
          },
          "proposals_workspace": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspace": {
            "$ref": "#/components/schemas/CardPage"
          }
        }
      },
      "CreateLinkRequest": {
        "type": "object",
        "required": [
          "read",
          "write",
          "execute"
        ],
        "properties": {
          "claimable_by": {
            "type": [
              "string",
              "null"
            ],
            "description": "Who may claim the link: \"user\" (default: a person, for one of their projects), \"agenda\" or \"both\"."
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "execute": {
            "type": "boolean"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "grant_ttl": {
            "type": [
              "string",
              "null"
            ]
          },
          "link_publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_openers": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "read": {
            "type": "boolean"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShareTargetRef"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "write": {
            "type": "boolean"
          }
        }
      },
      "CreateOracleRequest": {
        "type": "object",
        "required": [
          "kind",
          "title"
        ],
        "properties": {
          "agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "bot_token": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "hosting": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": "string"
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_key": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreatePostRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateProjectRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "avatar": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "media": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Project gallery: the photo strip shown above the text. Ordered list of media refs from a media upload; REPLACES the whole gallery, `[]` clears it, omit to keep it. Use it to reorder or set the full list; to add photos use `media_add`. Keep images out of `content`; the first photo usually also goes to `avatar`."
          },
          "media_add": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Photos to APPEND to the project gallery: media refs as in `media`, added after the current photos (photos already there are skipped). Use it when new photos arrive, without resending the list. With `media` in the same request they are appended to that new list."
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateRadarRequest": {
        "type": "object",
        "properties": {
          "agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch_messages": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "batch_window": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "forward": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_auto_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_outreach_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "keyword_groups": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "not_groups": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "oracles": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "outreach_campaign": {
            "type": [
              "string",
              "null"
            ]
          },
          "posts": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project_nonce": {
            "type": [
              "string",
              "null"
            ]
          },
          "reactions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "speed": {
            "type": [
              "string",
              "null"
            ]
          },
          "tg_groups": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateRelationRequest": {
        "type": "object",
        "required": [
          "source",
          "target",
          "rel"
        ],
        "properties": {
          "rel": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "target": {
            "type": "string"
          }
        }
      },
      "CreateRelationResponse": {
        "type": "object",
        "required": [
          "created",
          "relation"
        ],
        "properties": {
          "created": {
            "type": "boolean"
          },
          "relation": {
            "$ref": "#/components/schemas/WebRelation"
          }
        }
      },
      "CreateRoomRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "title": {
            "type": "string"
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "CreateRubricRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "directed": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "geo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoPinReq"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "inverse_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "parent": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "seqnum": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateSecretRequest": {
        "type": "object",
        "required": [
          "key_name",
          "value"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "type": [
              "string",
              "null"
            ]
          },
          "key_name": {
            "type": "string"
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "type": "string"
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateSheetRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CreateWorkspaceRequest": {
        "type": "object",
        "required": [
          "title"
        ],
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seqnum": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "title": {
            "type": "string"
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspaces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CryptoPricesResponse": {
        "type": "object",
        "required": [
          "ton",
          "btc",
          "usdt"
        ],
        "properties": {
          "btc": {
            "type": "number",
            "format": "double"
          },
          "ton": {
            "type": "number",
            "format": "double"
          },
          "usdt": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "DeleteRequest": {
        "type": "object",
        "required": [
          "event_id"
        ],
        "properties": {
          "event_id": {
            "type": "string"
          }
        }
      },
      "DeleteResponse": {
        "type": "object",
        "required": [
          "success"
        ],
        "properties": {
          "success": {
            "type": "boolean"
          }
        }
      },
      "DocsResponse": {
        "type": "object",
        "required": [
          "docs",
          "total"
        ],
        "properties": {
          "docs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "DomainsResponse": {
        "type": "object",
        "required": [
          "domains"
        ],
        "properties": {
          "domains": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebDomain"
            }
          }
        }
      },
      "DraftOutreachRequest": {
        "type": "object",
        "properties": {
          "instructions": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "DraftOutreachResponse": {
        "type": "object",
        "required": [
          "text",
          "target_username",
          "oracle_nonce",
          "model"
        ],
        "properties": {
          "model": {
            "type": "string"
          },
          "oracle_nonce": {
            "type": "string"
          },
          "target_username": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        }
      },
      "EdgesResponse": {
        "type": "object",
        "required": [
          "edges",
          "total"
        ],
        "properties": {
          "edges": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebEdge"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "EditRequest": {
        "type": "object",
        "required": [
          "event_id",
          "text"
        ],
        "properties": {
          "event_id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        }
      },
      "EventResponse": {
        "type": "object",
        "required": [
          "event_id"
        ],
        "properties": {
          "event_id": {
            "type": "string"
          }
        }
      },
      "EvictMatchesRequest": {
        "type": "object",
        "required": [
          "posts"
        ],
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EvictMatchesResponse": {
        "type": "object",
        "required": [
          "evicted",
          "evicted_matches_workspace"
        ],
        "properties": {
          "evicted": {
            "type": "integer",
            "format": "int64"
          },
          "evicted_matches_workspace": {
            "type": "string"
          }
        }
      },
      "ExternalRow": {
        "type": "object",
        "required": [
          "dest_host",
          "utm_campaign",
          "clicks",
          "uniques"
        ],
        "properties": {
          "clicks": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "dest_host": {
            "type": "string"
          },
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "utm_campaign": {
            "type": "string"
          }
        }
      },
      "GeoCitiesResponse": {
        "type": "object",
        "required": [
          "hits"
        ],
        "properties": {
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoCity"
            }
          }
        }
      },
      "GeoCity": {
        "type": "object",
        "required": [
          "geonameid",
          "name",
          "country_iso",
          "country_name",
          "lat",
          "lon",
          "label"
        ],
        "properties": {
          "country_iso": {
            "type": "string"
          },
          "country_name": {
            "type": "string"
          },
          "geonameid": {
            "type": "integer",
            "format": "int64"
          },
          "label": {
            "type": "string"
          },
          "lat": {
            "type": "number",
            "format": "double"
          },
          "lon": {
            "type": "number",
            "format": "double"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "GeoCountriesResponse": {
        "type": "object",
        "required": [
          "hits"
        ],
        "properties": {
          "hits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeoCountry"
            }
          }
        }
      },
      "GeoCountry": {
        "type": "object",
        "required": [
          "iso",
          "name"
        ],
        "properties": {
          "iso": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "GeoPin": {
        "type": "object",
        "required": [
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "format": "double"
          },
          "lon": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "GeoPinReq": {
        "type": "object",
        "required": [
          "lat",
          "lon"
        ],
        "properties": {
          "lat": {
            "type": "number",
            "format": "double"
          },
          "lon": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "GrantedResponse": {
        "type": "object",
        "required": [
          "granted",
          "total"
        ],
        "properties": {
          "granted": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GrantedRow"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GrantedRights": {
        "type": "object",
        "required": [
          "read",
          "write",
          "execute"
        ],
        "properties": {
          "execute": {
            "type": "boolean"
          },
          "read": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          }
        }
      },
      "GrantedRow": {
        "type": "object",
        "required": [
          "tile",
          "rights",
          "via"
        ],
        "properties": {
          "rights": {
            "$ref": "#/components/schemas/GrantedRights"
          },
          "tile": {
            "$ref": "#/components/schemas/CardTile"
          },
          "via": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GrantedVia"
            }
          }
        }
      },
      "GrantedVia": {
        "type": "object",
        "required": [
          "nonce"
        ],
        "properties": {
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "owner": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "token": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GraphSearchRequest": {
        "type": "object",
        "required": [
          "query"
        ],
        "properties": {
          "card_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "filters": {},
          "limit": {
            "type": "integer",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "minimum": 0
          },
          "query": {
            "type": "string"
          },
          "scope": {
            "type": [
              "string",
              "null"
            ]
          },
          "workspace": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GraphSearchResponse": {
        "type": "object",
        "required": [
          "hits",
          "total_hits",
          "page",
          "total_pages"
        ],
        "properties": {
          "hits": {
            "type": "array",
            "items": {}
          },
          "page": {
            "type": "integer",
            "minimum": 0
          },
          "total_hits": {
            "type": "integer",
            "minimum": 0
          },
          "total_pages": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "GroupAdmin": {
        "type": "object",
        "required": [
          "role",
          "name",
          "bot"
        ],
        "properties": {
          "bot": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "rank": {
            "type": [
              "string",
              "null"
            ]
          },
          "role": {
            "type": "string"
          },
          "user_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GroupCampaign": {
        "type": "object",
        "required": [
          "campaign",
          "sent",
          "deleted",
          "replied"
        ],
        "properties": {
          "campaign": {
            "type": "string"
          },
          "deleted": {
            "type": "integer",
            "format": "int64"
          },
          "last_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "replied": {
            "type": "integer",
            "format": "int64"
          },
          "sent": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GroupEnforcement": {
        "type": "object",
        "required": [
          "oracles",
          "muted",
          "departed",
          "bans"
        ],
        "properties": {
          "bans": {
            "type": "integer",
            "format": "int64"
          },
          "departed": {
            "type": "integer",
            "format": "int64"
          },
          "muted": {
            "type": "integer",
            "format": "int64"
          },
          "oracles": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "GroupMine": {
        "type": "object",
        "required": [
          "totals",
          "timeline",
          "campaigns",
          "replies",
          "enforcement"
        ],
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupCampaign"
            }
          },
          "enforcement": {
            "$ref": "#/components/schemas/GroupEnforcement"
          },
          "replies": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupReply"
            }
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendsDay"
            }
          },
          "totals": {
            "$ref": "#/components/schemas/SendsTotals"
          }
        }
      },
      "GroupOverviewResponse": {
        "type": "object",
        "required": [
          "tile",
          "tg_id",
          "admins",
          "enforcement"
        ],
        "properties": {
          "admins": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupAdmin"
            }
          },
          "admins_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "enforcement": {
            "$ref": "#/components/schemas/GroupEnforcement"
          },
          "members_count": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "mine": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GroupMine"
              }
            ]
          },
          "stats": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GroupStatsView"
              }
            ]
          },
          "tg_id": {
            "type": "string"
          },
          "tile": {
            "$ref": "#/components/schemas/CardTile"
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "GroupReply": {
        "type": "object",
        "required": [
          "message_id",
          "reply_id",
          "from_username",
          "from_name",
          "is_bot",
          "text",
          "at"
        ],
        "properties": {
          "at": {
            "type": "string"
          },
          "from_name": {
            "type": "string"
          },
          "from_username": {
            "type": "string"
          },
          "is_bot": {
            "type": "boolean"
          },
          "message_id": {
            "type": "integer",
            "format": "int64"
          },
          "reply_id": {
            "type": "integer",
            "format": "int64"
          },
          "text": {
            "type": "string"
          }
        }
      },
      "GroupStatsView": {
        "type": "object",
        "required": [
          "spam",
          "density",
          "openness",
          "moderation",
          "audience",
          "pace",
          "msgs_per_day",
          "sample",
          "rated_at"
        ],
        "properties": {
          "audience": {
            "type": "number",
            "format": "double"
          },
          "density": {
            "type": "number",
            "format": "double"
          },
          "hostility": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "moderation": {
            "type": "number",
            "format": "double"
          },
          "msgs_per_day": {
            "type": "number",
            "format": "double"
          },
          "openness": {
            "type": "number",
            "format": "double"
          },
          "pace": {
            "type": "number",
            "format": "double"
          },
          "rated_at": {
            "type": "string"
          },
          "sample": {
            "type": "integer",
            "format": "int64"
          },
          "spam": {
            "type": "number",
            "format": "double"
          }
        }
      },
      "HandleOutcome": {
        "type": "object",
        "required": [
          "handle",
          "state"
        ],
        "properties": {
          "handle": {
            "type": "string"
          },
          "nonce": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": "string"
          }
        }
      },
      "HistoryResponse": {
        "type": "object",
        "required": [
          "messages"
        ],
        "properties": {
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebMessage"
            }
          }
        }
      },
      "InviteRequest": {
        "type": "object",
        "required": [
          "project"
        ],
        "properties": {
          "project": {
            "type": "string"
          }
        }
      },
      "IssueDomainRequest": {
        "type": "object",
        "required": [
          "host"
        ],
        "properties": {
          "host": {
            "type": "string"
          }
        }
      },
      "JoinOracle": {
        "type": "object",
        "required": [
          "oracle",
          "member",
          "pending",
          "skipped",
          "remaining"
        ],
        "properties": {
          "flooded_until": {
            "type": [
              "string",
              "null"
            ]
          },
          "member": {
            "type": "integer",
            "format": "int64"
          },
          "oracle": {
            "type": "string"
          },
          "pending": {
            "type": "integer",
            "format": "int64"
          },
          "remaining": {
            "type": "integer",
            "format": "int64"
          },
          "skipped": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "JoinStats": {
        "type": "object",
        "required": [
          "groups",
          "member",
          "pending",
          "skipped",
          "remaining",
          "oracles"
        ],
        "properties": {
          "groups": {
            "type": "integer",
            "format": "int64"
          },
          "member": {
            "type": "integer",
            "format": "int64"
          },
          "oracles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JoinOracle"
            }
          },
          "pending": {
            "type": "integer",
            "format": "int64"
          },
          "remaining": {
            "type": "integer",
            "format": "int64"
          },
          "skipped": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LandingPage": {
        "type": "object",
        "required": [
          "root",
          "rows",
          "page",
          "total_pages"
        ],
        "properties": {
          "page": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "root": {
            "$ref": "#/components/schemas/RubricRef"
          },
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LandingRow"
            }
          },
          "total_pages": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "LandingRow": {
        "type": "object",
        "required": [
          "rubric",
          "items",
          "total"
        ],
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "rubric": {
            "$ref": "#/components/schemas/RubricRef"
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LikeCountResponse": {
        "type": "object",
        "required": [
          "count"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LikedResponse": {
        "type": "object",
        "required": [
          "target_nonces",
          "total"
        ],
        "properties": {
          "target_nonces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "LikedSubsetRequest": {
        "type": "object",
        "required": [
          "target_type",
          "target_nonces"
        ],
        "properties": {
          "target_nonces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "target_type": {
            "type": "string"
          }
        }
      },
      "LikedSubsetResponse": {
        "type": "object",
        "required": [
          "liked_target_nonces"
        ],
        "properties": {
          "liked_target_nonces": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "LinkGrantsResponse": {
        "type": "object",
        "required": [
          "grants"
        ],
        "properties": {
          "grants": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebLinkGrant"
            }
          }
        }
      },
      "LinkedCard": {
        "type": "object",
        "required": [
          "card_type",
          "nonce",
          "visibility",
          "canonical_lang",
          "i18n"
        ],
        "properties": {
          "canonical_lang": {
            "type": "string"
          },
          "card_type": {
            "type": "string"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedI18nEntry"
            }
          },
          "nonce": {
            "type": "string"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": "string"
          }
        }
      },
      "LinkedI18nEntry": {
        "type": "object",
        "required": [
          "lang",
          "title"
        ],
        "properties": {
          "content": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "teaser": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "LinkedRootResponse": {
        "type": "object",
        "required": [
          "read",
          "write",
          "execute",
          "cards"
        ],
        "properties": {
          "cards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LinkedTile"
            }
          },
          "execute": {
            "type": "boolean"
          },
          "read": {
            "type": "boolean"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "write": {
            "type": "boolean"
          }
        }
      },
      "LinkedTile": {
        "type": "object",
        "required": [
          "card_type",
          "nonce",
          "title",
          "visibility"
        ],
        "properties": {
          "card_type": {
            "type": "string"
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "snippet": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "visibility": {
            "type": "string"
          }
        }
      },
      "LinksResponse": {
        "type": "object",
        "required": [
          "links",
          "total"
        ],
        "properties": {
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebLink"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ListTransactionsResponse": {
        "type": "object",
        "required": [
          "transactions",
          "total"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "transactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TransactionEntry"
            }
          }
        }
      },
      "ListenerRequest": {
        "type": "object",
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "ListenerResponse": {
        "type": "object",
        "required": [
          "listener"
        ],
        "properties": {
          "listener": {
            "type": "string"
          }
        }
      },
      "LocationWire": {
        "type": "object",
        "required": [
          "nonce"
        ],
        "properties": {
          "geo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoPin"
              }
            ]
          },
          "nonce": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "MakeCurrentResponse": {
        "type": "object",
        "required": [
          "nonce",
          "restored",
          "pushed"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "pushed": {
            "$ref": "#/components/schemas/VersionItem",
            "description": "The state that was current before, stored as the next version."
          },
          "restored": {
            "type": "integer",
            "format": "int64",
            "description": "The version whose content is now current."
          }
        }
      },
      "MarkReadRequest": {
        "type": "object",
        "properties": {
          "last_event_id": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "MediaRef": {
        "type": "object",
        "properties": {
          "format": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "thumb": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "integer",
              "format": "int32",
              "minimum": 0
            }
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "MemberActionRequest": {
        "type": "object",
        "required": [
          "mxid"
        ],
        "properties": {
          "mxid": {
            "type": "string",
            "description": "Member id (from the members list or a message sender)."
          },
          "reason": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "MembersResponse": {
        "type": "object",
        "required": [
          "members",
          "banned"
        ],
        "properties": {
          "banned": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebMember"
            }
          }
        }
      },
      "MentionRef": {
        "type": "object",
        "required": [
          "nonce",
          "card_type",
          "title"
        ],
        "properties": {
          "card_type": {
            "type": "string"
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "MintPatRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "NewThreadRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "NotWords": {
        "oneOf": [
          {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ]
      },
      "OracleCampaignRow": {
        "type": "object",
        "required": [
          "campaign",
          "sent",
          "deleted",
          "replied",
          "joined",
          "join_pending",
          "join_banned",
          "join_dead",
          "join_skipped",
          "join_flood",
          "join_limit",
          "already_member",
          "left",
          "leave_failed",
          "not_member",
          "reacted",
          "groups"
        ],
        "properties": {
          "already_member": {
            "type": "integer",
            "format": "int64"
          },
          "campaign": {
            "type": "string"
          },
          "deleted": {
            "type": "integer",
            "format": "int64"
          },
          "first_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "groups": {
            "type": "integer",
            "format": "int64"
          },
          "join_banned": {
            "type": "integer",
            "format": "int64"
          },
          "join_dead": {
            "type": "integer",
            "format": "int64"
          },
          "join_flood": {
            "type": "integer",
            "format": "int64"
          },
          "join_limit": {
            "type": "integer",
            "format": "int64"
          },
          "join_pending": {
            "type": "integer",
            "format": "int64"
          },
          "join_skipped": {
            "type": "integer",
            "format": "int64"
          },
          "joined": {
            "type": "integer",
            "format": "int64"
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "leave_failed": {
            "type": "integer",
            "format": "int64"
          },
          "left": {
            "type": "integer",
            "format": "int64"
          },
          "not_member": {
            "type": "integer",
            "format": "int64"
          },
          "reacted": {
            "type": "integer",
            "format": "int64"
          },
          "replied": {
            "type": "integer",
            "format": "int64"
          },
          "sent": {
            "type": "integer",
            "format": "int64"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "OracleCampaignsResponse": {
        "type": "object",
        "required": [
          "rows"
        ],
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OracleCampaignRow"
            }
          }
        }
      },
      "OraclesResponse": {
        "type": "object",
        "required": [
          "oracles",
          "total"
        ],
        "properties": {
          "oracles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "OutreachRequest": {
        "type": "object",
        "required": [
          "my_project",
          "target"
        ],
        "properties": {
          "my_project": {
            "type": "string"
          },
          "target": {
            "type": "string"
          }
        }
      },
      "PatchApiEndpointRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "method": {
            "type": [
              "string",
              "null"
            ]
          },
          "operation_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "path": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "request_schema": {},
          "response_schema": {},
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchArticleRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "teaser": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchBoardRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchContactRequest": {
        "type": "object",
        "properties": {
          "is_primary": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ],
            "description": "One of: Phone, Email, Website, Telegram, WhatsApp, Instagram, Facebook, TikTok, LinkedIn, Discord, X, YouTube, Other (exact spelling, e.g. \"Telegram\")."
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "requires_reveal": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "value": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchCouponRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "clipped_validity_days": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "is_active": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "mint_capacity": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_from": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchDocRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchLinkGrantRequest": {
        "type": "object",
        "required": [
          "expires_at"
        ],
        "properties": {
          "expires_at": {
            "type": "string",
            "description": "New expiry (RFC 3339). Extends, shortens, or renews an expired / revoked grant."
          }
        }
      },
      "PatchLinkRequest": {
        "type": "object",
        "properties": {
          "claimable_by": {
            "type": [
              "string",
              "null"
            ],
            "description": "\"user\", \"agenda\" or \"both\". Changes who may claim from now on; grants already held stay."
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "execute": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "grant_ttl": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "link_publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "max_openers": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "read": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "status": {
            "type": [
              "string",
              "null"
            ]
          },
          "targets": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/ShareTargetRef"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "write": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "PatchOracleRequest": {
        "type": "object",
        "properties": {
          "agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "gender": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "listen_dm": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "teaser": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          },
          "webhook_url": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchPostRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchProjectRequest": {
        "type": "object",
        "properties": {
          "avatar": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "media": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Project gallery: the photo strip shown above the text. Ordered list of media refs from a media upload; REPLACES the whole gallery, `[]` clears it, omit to keep it. Use it to reorder or set the full list; to add photos use `media_add`. Keep images out of `content`; the first photo usually also goes to `avatar`."
          },
          "media_add": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            },
            "description": "Photos to APPEND to the project gallery: media refs as in `media`, added after the current photos (photos already there are skipped). Use it when new photos arrive, without resending the list. With `media` in the same request they are appended to that new list."
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchRadarRequest": {
        "type": "object",
        "properties": {
          "agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "batch_messages": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "batch_window": {
            "type": [
              "string",
              "null"
            ]
          },
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "forward": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "is_auto_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "is_outreach_enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "keyword_groups": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "matches_seen_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "not_groups": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "oracles": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "outreach_campaign": {
            "type": [
              "string",
              "null"
            ]
          },
          "posts": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project_nonce": {
            "type": [
              "string",
              "null"
            ]
          },
          "reactions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "speed": {
            "type": [
              "string",
              "null"
            ]
          },
          "tg_groups": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchRoomRequest": {
        "type": "object",
        "description": "Card PATCH body (same shape as the other cards' PATCH).",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchRubricRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "directed": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "geo": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/GeoPinReq"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "inverse_title": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "seqnum": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchSecretRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchSheetRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchTelegramGroupRequest": {
        "type": "object",
        "properties": {
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "teaser": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatchWorkspaceRequest": {
        "type": "object",
        "properties": {
          "canonical_lang": {
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n_source": {
            "type": [
              "object",
              "null"
            ],
            "additionalProperties": {
              "type": "string"
            },
            "propertyNames": {
              "type": "string"
            }
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "location": {
            "type": [
              "string",
              "null"
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "primary_rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "rotation": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/RotationReq"
              }
            ]
          },
          "rubrics": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "seo_kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "seqnum": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "translate_langs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "translate_mode": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PatsResponse": {
        "type": "object",
        "required": [
          "pats",
          "total"
        ],
        "properties": {
          "pats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebPat"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PerformanceResponse": {
        "type": "object",
        "required": [
          "totals",
          "timeline",
          "groups",
          "join"
        ],
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendsGroup"
            }
          },
          "join": {
            "$ref": "#/components/schemas/JoinStats"
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendsDay"
            }
          },
          "totals": {
            "$ref": "#/components/schemas/SendsTotals"
          }
        }
      },
      "PinRequest": {
        "type": "object",
        "required": [
          "event_id"
        ],
        "properties": {
          "event_id": {
            "type": "string"
          },
          "pinned": {
            "type": "boolean"
          }
        }
      },
      "PlanPrice": {
        "type": "object",
        "required": [
          "kind",
          "usd"
        ],
        "properties": {
          "kind": {
            "type": "string"
          },
          "usd": {
            "type": "string"
          }
        }
      },
      "PlanResponse": {
        "type": "object",
        "required": [
          "active",
          "auto_renew",
          "projects",
          "slots",
          "seats_total",
          "seats_left",
          "project_usd",
          "prices"
        ],
        "properties": {
          "active": {
            "type": "boolean"
          },
          "auto_renew": {
            "type": "boolean"
          },
          "free_oracle": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlanPrice"
            }
          },
          "project_usd": {
            "type": "string"
          },
          "projects": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "seats_left": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "seats_total": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "slots": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "until": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "PostsResponse": {
        "type": "object",
        "required": [
          "posts",
          "total"
        ],
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PowerResponse": {
        "type": "object",
        "required": [
          "success",
          "status"
        ],
        "properties": {
          "status": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "ProActivateRequest": {
        "type": "object",
        "properties": {
          "coupon": {
            "type": [
              "string",
              "null"
            ],
            "description": "Your clip nonce, or the code of a coupon you have clipped (POST /v0/my/coupons/clip). Omit to pay the list price."
          }
        }
      },
      "ProActivateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CardPage"
          },
          {
            "type": "object",
            "required": [
              "list_usd",
              "discount_usd",
              "charged_usd"
            ],
            "properties": {
              "charged_usd": {
                "type": "number",
                "format": "double",
                "description": "Taken from your balance (0 when the coupon covers the whole charge; it still shows in your transactions)."
              },
              "discount_usd": {
                "type": "number",
                "format": "double"
              },
              "list_usd": {
                "type": "number",
                "format": "double"
              }
            }
          }
        ]
      },
      "ProjectsResponse": {
        "type": "object",
        "required": [
          "projects",
          "total"
        ],
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicApiEndpointsResponse": {
        "type": "object",
        "required": [
          "api_endpoints",
          "total"
        ],
        "properties": {
          "api_endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicArticlesResponse": {
        "type": "object",
        "required": [
          "articles",
          "total"
        ],
        "properties": {
          "articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicBoardsResponse": {
        "type": "object",
        "required": [
          "boards",
          "total"
        ],
        "properties": {
          "boards": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicDocsResponse": {
        "type": "object",
        "required": [
          "docs",
          "total"
        ],
        "properties": {
          "docs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicPostsResponse": {
        "type": "object",
        "required": [
          "posts",
          "total"
        ],
        "properties": {
          "posts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicProjectsResponse": {
        "type": "object",
        "required": [
          "projects",
          "total"
        ],
        "properties": {
          "projects": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicRubricsResponse": {
        "type": "object",
        "required": [
          "rubrics",
          "total"
        ],
        "properties": {
          "rubrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicSheetsResponse": {
        "type": "object",
        "required": [
          "sheets",
          "total"
        ],
        "properties": {
          "sheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicTelegramGroupsResponse": {
        "type": "object",
        "required": [
          "telegram_groups",
          "total"
        ],
        "properties": {
          "telegram_groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PublicWorkspacesResponse": {
        "type": "object",
        "required": [
          "workspaces",
          "total"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          }
        }
      },
      "PurchasePlanRequest": {
        "type": "object",
        "required": [
          "kind"
        ],
        "properties": {
          "coupon": {
            "type": [
              "string",
              "null"
            ],
            "description": "Your clip nonce, or the code of a coupon you have clipped. Omit to pay the list price."
          },
          "kind": {
            "type": "string"
          }
        }
      },
      "PurchasePlanResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PlanResponse"
          },
          {
            "type": "object",
            "required": [
              "list_usd",
              "discount_usd",
              "charged_usd"
            ],
            "properties": {
              "charged_usd": {
                "type": "number",
                "format": "double"
              },
              "discount_usd": {
                "type": "number",
                "format": "double"
              },
              "list_usd": {
                "type": "number",
                "format": "double"
              }
            }
          }
        ]
      },
      "PutSceneRequest": {
        "type": "object",
        "required": [
          "scene",
          "revision"
        ],
        "properties": {
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "scene": {
            "type": "string"
          }
        }
      },
      "PutSceneResponse": {
        "type": "object",
        "required": [
          "scene_rev"
        ],
        "properties": {
          "scene_rev": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "QuoteResponse": {
        "type": "object",
        "description": "What a charge with this coupon would cost now. Nothing is charged or written; the real charge\n(POST /v0/my/projects/{nonce}/pro or POST /v0/my/plan with {coupon}) runs the same checks.",
        "required": [
          "target",
          "clip",
          "template",
          "list_usd",
          "discount_usd",
          "charged_usd",
          "wallet_left_usd",
          "balance_usd",
          "enough"
        ],
        "properties": {
          "balance_usd": {
            "type": "number",
            "format": "double"
          },
          "charged_usd": {
            "type": "number",
            "format": "double",
            "description": "The part your balance would pay (0 = the coupon covers it all)."
          },
          "clip": {
            "type": "string"
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_usd": {
            "type": "number",
            "format": "double"
          },
          "enough": {
            "type": "boolean",
            "description": "balance_usd >= charged_usd."
          },
          "list_usd": {
            "type": "number",
            "format": "double"
          },
          "target": {
            "type": "string"
          },
          "template": {
            "type": "string"
          },
          "wallet_left_usd": {
            "type": "number",
            "format": "double",
            "description": "Accumulative coupons: wallet left after this charge (0 for one-use coupons)."
          }
        }
      },
      "RadarPowerResponse": {
        "type": "object",
        "required": [
          "success",
          "status",
          "is_active"
        ],
        "properties": {
          "is_active": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "success": {
            "type": "boolean"
          }
        }
      },
      "RadarsResponse": {
        "type": "object",
        "required": [
          "campaigns",
          "total"
        ],
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ReactRequest": {
        "type": "object",
        "required": [
          "event_id",
          "key"
        ],
        "properties": {
          "event_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "remove": {
            "type": "boolean"
          }
        }
      },
      "ReauthCodeRequest": {
        "type": "object",
        "required": [
          "session_key",
          "code"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "session_key": {
            "type": "string"
          }
        }
      },
      "ReauthPasswordRequest": {
        "type": "object",
        "required": [
          "session_key",
          "password"
        ],
        "properties": {
          "password": {
            "type": "string"
          },
          "session_key": {
            "type": "string"
          }
        }
      },
      "ReauthResponse": {
        "type": "object",
        "required": [
          "session_key",
          "state",
          "status"
        ],
        "properties": {
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone_masked": {
            "type": [
              "string",
              "null"
            ]
          },
          "retry_after": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "session_key": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "example": "awaiting_code"
          },
          "status": {
            "type": "string"
          }
        }
      },
      "ReauthStartRequest": {
        "type": "object",
        "properties": {
          "confirm": {
            "type": "boolean"
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RegenerateTokenResponse": {
        "type": "object",
        "required": [
          "token"
        ],
        "properties": {
          "token": {
            "type": "string"
          }
        }
      },
      "RegisterRequest": {
        "type": "object",
        "required": [
          "step",
          "session_key"
        ],
        "properties": {
          "api_hash": {
            "type": [
              "string",
              "null"
            ]
          },
          "api_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "password": {
            "type": [
              "string",
              "null"
            ]
          },
          "phone": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_key": {
            "type": "string"
          },
          "step": {
            "type": "string"
          }
        }
      },
      "RegisterResponse": {
        "type": "object",
        "required": [
          "session_key",
          "state"
        ],
        "properties": {
          "error": {
            "type": [
              "string",
              "null"
            ]
          },
          "session_key": {
            "type": "string"
          },
          "state": {
            "type": "string"
          }
        }
      },
      "RelationsResponse": {
        "type": "object",
        "required": [
          "relations"
        ],
        "properties": {
          "next_before": {
            "type": [
              "string",
              "null"
            ]
          },
          "relations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebRelation"
            }
          }
        }
      },
      "RenameRequest": {
        "type": "object",
        "required": [
          "name"
        ],
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "ReorderRequest": {
        "type": "object",
        "required": [
          "seqnum"
        ],
        "properties": {
          "seqnum": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ResolveResponse": {
        "type": "object",
        "required": [
          "card_type",
          "nonce"
        ],
        "properties": {
          "card_type": {
            "type": "string"
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "RevealResponse": {
        "type": "object",
        "required": [
          "nonce",
          "kind",
          "value"
        ],
        "properties": {
          "kind": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "RoleRequest": {
        "type": "object",
        "required": [
          "mxid",
          "role"
        ],
        "properties": {
          "mxid": {
            "type": "string",
            "description": "Member id (from the members list or a message sender)."
          },
          "role": {
            "type": "string"
          }
        }
      },
      "RoomSwagRequest": {
        "type": "object",
        "properties": {
          "swag": {
            "type": [
              "string",
              "null"
            ],
            "description": "Personal agenda nonce to use in this room; null clears it (the campaign's agenda applies again)."
          }
        }
      },
      "RoomSwagResponse": {
        "type": "object",
        "required": [
          "room",
          "source"
        ],
        "properties": {
          "assignable": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/SwagRef"
            },
            "description": "GET only: personal agendas you may set (your own, or shared with you with execute)."
          },
          "campaign_swag": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SwagRef"
              }
            ]
          },
          "default_swag": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SwagRef"
              }
            ]
          },
          "effective": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SwagRef",
                "description": "Personal agenda the next turn in this room uses; null = the oracle agenda's own instructions only."
              }
            ]
          },
          "room": {
            "type": "string"
          },
          "room_swag": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SwagRef"
              }
            ]
          },
          "source": {
            "$ref": "#/components/schemas/SwagSource",
            "description": "Which level chose it: room | campaign | default."
          }
        }
      },
      "RoomsResponse": {
        "type": "object",
        "required": [
          "rooms",
          "total",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "rooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebRoom"
            }
          },
          "total": {
            "type": "integer",
            "minimum": 0
          }
        }
      },
      "RotationMode": {
        "type": "string",
        "enum": [
          "global",
          "local"
        ]
      },
      "RotationReq": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/RotationMode"
          },
          "nodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RotationWire": {
        "type": "object",
        "properties": {
          "mode": {
            "$ref": "#/components/schemas/RotationMode"
          },
          "nodes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "RubricRef": {
        "type": "object",
        "required": [
          "nonce"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "RubricsResponse": {
        "type": "object",
        "required": [
          "rubrics",
          "total"
        ],
        "properties": {
          "rubrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SecretsResponse": {
        "type": "object",
        "required": [
          "secrets",
          "total"
        ],
        "properties": {
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebSecret"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SelfPatchRequest": {
        "type": "object",
        "properties": {
          "distance_units": {
            "type": [
              "string",
              "null"
            ]
          },
          "first_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "time_format": {
            "type": [
              "string",
              "null"
            ]
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "translation_agenda": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "SendMediaForm": {
        "type": "object",
        "required": [
          "file"
        ],
        "properties": {
          "file": {
            "type": "string",
            "format": "binary"
          },
          "text": {
            "type": [
              "string",
              "null"
            ]
          },
          "thread_id": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "SendRequest": {
        "type": "object",
        "required": [
          "text"
        ],
        "properties": {
          "formatted_body": {
            "type": [
              "string",
              "null"
            ]
          },
          "reply_to": {
            "type": [
              "string",
              "null"
            ]
          },
          "text": {
            "type": "string"
          },
          "thread_id": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "SendRow": {
        "type": "object",
        "required": [
          "chat_id",
          "username",
          "message_id",
          "oracle",
          "replies"
        ],
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "deleted_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "message_id": {
            "type": "integer",
            "format": "int64"
          },
          "oracle": {
            "type": "string"
          },
          "post": {
            "type": [
              "string",
              "null"
            ]
          },
          "replied_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "replies": {
            "type": "integer",
            "format": "int64"
          },
          "sent_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "type": "string"
          }
        }
      },
      "SendsDay": {
        "type": "object",
        "required": [
          "day",
          "sent",
          "deleted",
          "replied",
          "joined",
          "left",
          "reacted"
        ],
        "properties": {
          "day": {
            "type": "string"
          },
          "deleted": {
            "type": "integer",
            "format": "int64"
          },
          "joined": {
            "type": "integer",
            "format": "int64"
          },
          "left": {
            "type": "integer",
            "format": "int64"
          },
          "reacted": {
            "type": "integer",
            "format": "int64"
          },
          "replied": {
            "type": "integer",
            "format": "int64"
          },
          "sent": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SendsGroup": {
        "type": "object",
        "required": [
          "chat_id",
          "username",
          "sent",
          "deleted",
          "replied",
          "reacted",
          "oracles_member",
          "oracles_pending"
        ],
        "properties": {
          "chat_id": {
            "type": "string"
          },
          "deleted": {
            "type": "integer",
            "format": "int64"
          },
          "join_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "join_status": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "oracles_member": {
            "type": "integer",
            "format": "int64"
          },
          "oracles_pending": {
            "type": "integer",
            "format": "int64"
          },
          "reacted": {
            "type": "integer",
            "format": "int64"
          },
          "replied": {
            "type": "integer",
            "format": "int64"
          },
          "sent": {
            "type": "integer",
            "format": "int64"
          },
          "username": {
            "type": "string"
          }
        }
      },
      "SendsResponse": {
        "type": "object",
        "required": [
          "rows",
          "total",
          "page",
          "limit",
          "has_more"
        ],
        "properties": {
          "has_more": {
            "type": "boolean"
          },
          "limit": {
            "type": "integer",
            "minimum": 0
          },
          "page": {
            "type": "integer",
            "minimum": 0
          },
          "rows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendRow"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SendsTotals": {
        "type": "object",
        "required": [
          "sent",
          "deleted",
          "replied",
          "groups",
          "oracles",
          "joined",
          "join_pending",
          "join_banned",
          "join_dead",
          "join_skipped",
          "join_flood",
          "join_limit",
          "already_member",
          "left",
          "leave_failed",
          "not_member",
          "reacted"
        ],
        "properties": {
          "already_member": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "integer",
            "format": "int64"
          },
          "first_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "groups": {
            "type": "integer",
            "format": "int64"
          },
          "join_banned": {
            "type": "integer",
            "format": "int64"
          },
          "join_dead": {
            "type": "integer",
            "format": "int64"
          },
          "join_flood": {
            "type": "integer",
            "format": "int64"
          },
          "join_limit": {
            "type": "integer",
            "format": "int64"
          },
          "join_pending": {
            "type": "integer",
            "format": "int64"
          },
          "join_skipped": {
            "type": "integer",
            "format": "int64"
          },
          "joined": {
            "type": "integer",
            "format": "int64"
          },
          "last_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "leave_failed": {
            "type": "integer",
            "format": "int64"
          },
          "left": {
            "type": "integer",
            "format": "int64"
          },
          "not_member": {
            "type": "integer",
            "format": "int64"
          },
          "oracles": {
            "type": "integer",
            "format": "int64"
          },
          "reacted": {
            "type": "integer",
            "format": "int64"
          },
          "replied": {
            "type": "integer",
            "format": "int64"
          },
          "sent": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SetVersioningRequest": {
        "type": "object",
        "required": [
          "enabled"
        ],
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "SettingsRequest": {
        "type": "object",
        "properties": {
          "slow_mode_secs": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int32",
            "minimum": 0
          },
          "threads": {
            "type": [
              "boolean",
              "null"
            ]
          }
        }
      },
      "ShareTargetRef": {
        "type": "object",
        "required": [
          "card_type",
          "nonce"
        ],
        "properties": {
          "card_type": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          }
        }
      },
      "SheetsResponse": {
        "type": "object",
        "required": [
          "sheets",
          "total"
        ],
        "properties": {
          "sheets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "StarterLink": {
        "type": "object",
        "required": [
          "nonce",
          "token",
          "url"
        ],
        "properties": {
          "nonce": {
            "type": "string"
          },
          "token": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        }
      },
      "StarterLinks": {
        "type": "object",
        "required": [
          "trial",
          "view"
        ],
        "properties": {
          "trial": {
            "$ref": "#/components/schemas/StarterLink",
            "description": "Access to run the radar (start, stop, edit) during the 7-day trial."
          },
          "view": {
            "$ref": "#/components/schemas/StarterLink",
            "description": "Read access to the radar and its matches."
          }
        }
      },
      "StarterRadarRequest": {
        "type": "object",
        "description": "Body: all optional; `{}` or an empty body derives the keywords from the project.",
        "properties": {
          "city": {
            "type": [
              "string",
              "null"
            ],
            "description": "City or area the leads must mention (one more AND group). Default when keywords are absent: the project's location."
          },
          "keywords": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "description": "Keyword groups: a message matches when every group has a hit (OR inside a group, AND across groups). Default: the project's rubric titles (else its title)."
          },
          "not_groups": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NotWords",
                "description": "Words that drop a message on any hit (flat list, or groups that are merged)."
              }
            ]
          }
        }
      },
      "StarterRadarResponse": {
        "type": "object",
        "required": [
          "campaign",
          "links",
          "status",
          "is_active",
          "keyword_groups",
          "not_groups",
          "created"
        ],
        "properties": {
          "campaign": {
            "type": "string"
          },
          "created": {
            "type": "boolean",
            "description": "false: this project already had its starter radar, returned unchanged (the body is ignored)."
          },
          "is_active": {
            "type": "boolean"
          },
          "keyword_groups": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "links": {
            "$ref": "#/components/schemas/StarterLinks"
          },
          "matches_workspace": {
            "type": [
              "string",
              "null"
            ]
          },
          "not_groups": {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          "status": {
            "type": "string"
          },
          "trial_ends_at": {
            "type": [
              "string",
              "null"
            ],
            "description": "When your 7-day trial ends; the radar pauses then."
          }
        }
      },
      "StatsDay": {
        "type": "object",
        "required": [
          "day",
          "views",
          "people"
        ],
        "properties": {
          "day": {
            "type": "string"
          },
          "people": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "views": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "StatsKey": {
        "type": "object",
        "required": [
          "key",
          "views",
          "people"
        ],
        "properties": {
          "key": {
            "type": "string"
          },
          "people": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "views": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "StatsReach": {
        "type": "object",
        "required": [
          "views",
          "people"
        ],
        "properties": {
          "people": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "views": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "SwagRef": {
        "type": "object",
        "required": [
          "owned"
        ],
        "properties": {
          "nonce": {
            "type": [
              "string",
              "null"
            ],
            "description": "Present only when you may execute this agenda; otherwise it shows as set without its id."
          },
          "owned": {
            "type": "boolean"
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Title, when you may execute this agenda."
          }
        }
      },
      "SwagSource": {
        "type": "string",
        "description": "Which level chose the personal agenda of a room turn.",
        "enum": [
          "room",
          "campaign",
          "default"
        ]
      },
      "SweepMatchesRequest": {
        "type": "object",
        "properties": {
          "dry_run": {
            "type": "boolean"
          }
        }
      },
      "SweepMatchesResponse": {
        "type": "object",
        "required": [
          "matched",
          "evicted"
        ],
        "properties": {
          "evicted": {
            "type": "integer",
            "format": "int64"
          },
          "matched": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "SyncDepositResponse": {
        "type": "object",
        "required": [
          "deposit_detected",
          "credited_count",
          "credited_amount",
          "credited_usd",
          "network"
        ],
        "properties": {
          "credited_amount": {
            "type": "string"
          },
          "credited_count": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "credited_usd": {
            "type": "string"
          },
          "deposit_detected": {
            "type": "boolean"
          },
          "network": {
            "type": "string"
          }
        }
      },
      "TelegramGroupsResponse": {
        "type": "object",
        "required": [
          "groups",
          "total"
        ],
        "properties": {
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "total": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ToggleLikeRequest": {
        "type": "object",
        "required": [
          "target_type",
          "target_nonce"
        ],
        "properties": {
          "target_nonce": {
            "type": "string"
          },
          "target_type": {
            "type": "string"
          }
        }
      },
      "ToggleLikeResponse": {
        "type": "object",
        "required": [
          "liked"
        ],
        "properties": {
          "liked": {
            "type": "boolean"
          }
        }
      },
      "TrafficSummaryResponse": {
        "type": "object",
        "required": [
          "timeline",
          "visits",
          "internal",
          "external",
          "totals",
          "domain_verified"
        ],
        "properties": {
          "domain": {
            "type": [
              "string",
              "null"
            ]
          },
          "domain_verified": {
            "type": "boolean"
          },
          "external": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ExternalRow"
            }
          },
          "internal": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CampaignOpenRow"
            }
          },
          "snippet_last_visit": {
            "type": [
              "string",
              "null"
            ]
          },
          "timeline": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisitDay"
            }
          },
          "totals": {
            "$ref": "#/components/schemas/TrafficTotals"
          },
          "visits": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VisitRow"
            }
          }
        }
      },
      "TrafficTotals": {
        "type": "object",
        "required": [
          "internal_opens",
          "internal_uniques",
          "external_clicks",
          "external_uniques"
        ],
        "properties": {
          "external_clicks": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "external_uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "internal_opens": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "internal_uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "TransactionEntry": {
        "type": "object",
        "required": [
          "nonce",
          "transaction_type",
          "amount",
          "currency",
          "status"
        ],
        "properties": {
          "amount": {
            "type": "number",
            "format": "double"
          },
          "coupon": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CouponCharge",
                "description": "Coupon part of a membership charge (amount 0 + coupon = fully covered, not a paid charge)."
              }
            ]
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": "string"
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "ref_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "ref_note": {
            "type": [
              "string",
              "null"
            ]
          },
          "ref_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string"
          },
          "transaction_type": {
            "type": "string"
          }
        }
      },
      "TriggerDraft": {
        "type": "object",
        "required": [
          "text",
          "parts"
        ],
        "properties": {
          "parts": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "text": {
            "type": "string"
          }
        }
      },
      "TriggerRequest": {
        "type": "object",
        "required": [
          "note"
        ],
        "properties": {
          "at": {
            "type": [
              "string",
              "null"
            ],
            "example": "1 minute"
          },
          "draft": {
            "type": "boolean"
          },
          "note": {
            "type": "string",
            "maxLength": 500,
            "minLength": 1
          }
        }
      },
      "TriggerResponse": {
        "type": "object",
        "properties": {
          "at": {
            "type": [
              "string",
              "null"
            ]
          },
          "done_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "draft": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/TriggerDraft"
              }
            ]
          },
          "id": {
            "type": [
              "string",
              "null"
            ]
          },
          "note": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "TypingRequest": {
        "type": "object",
        "required": [
          "typing"
        ],
        "properties": {
          "typing": {
            "type": "boolean"
          }
        }
      },
      "UpdateAgendaRequest": {
        "type": "object",
        "properties": {
          "api_endpoints": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "description": {
            "type": [
              "string",
              "null"
            ]
          },
          "follow_ups": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebAgendaFollowUpsPatch"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "instructions": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "kind": {
            "type": [
              "string",
              "null"
            ]
          },
          "llm": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebAgendaLlm"
              }
            ]
          },
          "permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          },
          "swag": {
            "type": [
              "string",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "UploadResponse": {
        "type": "object",
        "required": [
          "files"
        ],
        "properties": {
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UploadedFile"
            }
          }
        }
      },
      "UploadedFile": {
        "type": "object",
        "required": [
          "hash",
          "format",
          "size",
          "width",
          "height",
          "thumb_b64"
        ],
        "properties": {
          "format": {
            "type": "string"
          },
          "hash": {
            "type": "string"
          },
          "height": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "thumb_b64": {
            "type": "string"
          },
          "width": {
            "type": "integer",
            "format": "int32",
            "minimum": 0
          }
        }
      },
      "ValidateResponse": {
        "type": "object",
        "required": [
          "valid",
          "message"
        ],
        "properties": {
          "message": {
            "type": "string"
          },
          "terms": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ValidateTerms"
              }
            ]
          },
          "valid": {
            "type": "boolean"
          }
        }
      },
      "ValidateTerms": {
        "type": "object",
        "description": "Terms of a valid code, present for publicly offered coupons.",
        "required": [
          "template",
          "title",
          "area",
          "is_accumulative"
        ],
        "properties": {
          "accumulated_value_per_clip": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "area": {
            "type": "string"
          },
          "discount_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "is_accumulative": {
            "type": "boolean"
          },
          "max_discount_cap_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "template": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "VerifyDomainRequest": {
        "type": "object",
        "required": [
          "host",
          "method"
        ],
        "properties": {
          "host": {
            "type": "string"
          },
          "method": {
            "type": "string"
          }
        }
      },
      "VerifyDomainResponse": {
        "type": "object",
        "required": [
          "verified"
        ],
        "properties": {
          "reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "verified": {
            "type": "boolean"
          }
        }
      },
      "VersionItem": {
        "type": "object",
        "required": [
          "version",
          "nonce"
        ],
        "properties": {
          "author": {
            "type": [
              "string",
              "null"
            ],
            "description": "The person whose edit stored this state in the history."
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string",
            "description": "Nonce of the snapshot card (archived copy)."
          },
          "version": {
            "type": "integer",
            "format": "int64",
            "description": "Version number: oldest = 1, +1 each, never renumbered."
          }
        }
      },
      "VersionsResponse": {
        "type": "object",
        "required": [
          "nonce",
          "versioned",
          "items"
        ],
        "properties": {
          "history_of": {
            "type": [
              "string",
              "null"
            ],
            "description": "Set when this card is a version workspace: the original card nonce."
          },
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/VersionItem"
            }
          },
          "nonce": {
            "type": "string"
          },
          "version": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64",
            "description": "Set when this card is a snapshot: its version number."
          },
          "version_of": {
            "type": [
              "string",
              "null"
            ],
            "description": "Set when this card is a snapshot: the original card nonce."
          },
          "versioned": {
            "type": "boolean"
          },
          "workspace": {
            "type": [
              "string",
              "null"
            ],
            "description": "The version workspace (archived, Private by default; share it to share the history)."
          }
        }
      },
      "VisibilityRequest": {
        "type": "object",
        "required": [
          "visibility"
        ],
        "properties": {
          "visibility": {
            "type": "string"
          }
        }
      },
      "VisitDay": {
        "type": "object",
        "required": [
          "day",
          "visits",
          "uniques"
        ],
        "properties": {
          "day": {
            "type": "string"
          },
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "visits": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "VisitRow": {
        "type": "object",
        "required": [
          "utm_campaign",
          "utm_source",
          "visits",
          "uniques"
        ],
        "properties": {
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "utm_campaign": {
            "type": "string"
          },
          "utm_source": {
            "type": "string"
          },
          "visits": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          }
        }
      },
      "WalletsResponse": {
        "type": "object",
        "properties": {
          "btc": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebWallet"
              }
            ]
          },
          "ton": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebWallet"
              }
            ]
          }
        }
      },
      "WebAgenda": {
        "type": "object",
        "required": [
          "tile",
          "nonce",
          "owner",
          "card_type",
          "visibility",
          "publicity",
          "permissions",
          "owned",
          "writable",
          "canonical_lang",
          "i18n",
          "kind",
          "lists"
        ],
        "properties": {
          "canonical_lang": {
            "type": "string"
          },
          "card_type": {
            "type": "string"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "follow_ups": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebAgendaFollowUps"
              }
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebI18nEntry"
            }
          },
          "kind": {
            "type": "string"
          },
          "liked_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "lists": {
            "$ref": "#/components/schemas/WebAgendaLists"
          },
          "llm": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebAgendaLlm"
              }
            ]
          },
          "nonce": {
            "type": "string"
          },
          "owned": {
            "type": "boolean"
          },
          "owner": {
            "type": "string"
          },
          "permissions": {
            "$ref": "#/components/schemas/WebPermissions"
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": "string"
          },
          "saved_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shared_by_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "shared_with_viewer": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "swag": {
            "type": [
              "string",
              "null"
            ]
          },
          "tile": {
            "$ref": "#/components/schemas/CardTile"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": "string"
          },
          "writable": {
            "type": "boolean"
          }
        }
      },
      "WebAgendaFollowUps": {
        "type": "object",
        "required": [
          "enabled",
          "rungs"
        ],
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "rungs": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WebAgendaFollowUpsPatch": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "rungs": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WebAgendaLists": {
        "type": "object",
        "properties": {
          "api_endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "instructions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "swag": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          }
        }
      },
      "WebAgendaLlm": {
        "type": "object",
        "properties": {
          "model": {
            "type": [
              "string",
              "null"
            ]
          },
          "reasoning": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebContact": {
        "type": "object",
        "required": [
          "nonce",
          "project_nonce",
          "kind",
          "value",
          "is_primary",
          "publicity",
          "requires_reveal"
        ],
        "properties": {
          "is_primary": {
            "type": "boolean"
          },
          "kind": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "project_nonce": {
            "type": "string"
          },
          "publicity": {
            "type": "string"
          },
          "requires_reveal": {
            "type": "boolean"
          },
          "value": {
            "type": "string"
          }
        }
      },
      "WebCoupon": {
        "type": "object",
        "required": [
          "nonce",
          "owner",
          "card_type",
          "visibility",
          "canonical_lang",
          "i18n",
          "kind",
          "area",
          "is_accumulative"
        ],
        "properties": {
          "area": {
            "type": "string"
          },
          "canonical_lang": {
            "type": "string"
          },
          "card_type": {
            "type": "string"
          },
          "clipped": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebCouponClipped"
              }
            ]
          },
          "code": {
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_type": {
            "type": [
              "string",
              "null"
            ]
          },
          "discount_value": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "earning_rate": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "i18n": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebI18nEntry"
            }
          },
          "is_accumulative": {
            "type": "boolean"
          },
          "kind": {
            "type": "string"
          },
          "max_accumulated_value": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_discount_cap_percent": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "max_uses_per_user": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "mentioned": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          },
          "nonce": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "template": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebCouponTemplate"
              }
            ]
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": "string"
          }
        }
      },
      "WebCouponClipped": {
        "type": "object",
        "required": [
          "template_nonce",
          "clipped_at",
          "clipped_until",
          "valid_until",
          "accumulated_value",
          "total_used",
          "remaining",
          "can_use"
        ],
        "properties": {
          "accumulated_value": {
            "type": "number",
            "format": "double"
          },
          "can_use": {
            "type": "boolean"
          },
          "clipped_at": {
            "type": "string"
          },
          "clipped_until": {
            "type": "string"
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "referral_code": {
            "type": [
              "string",
              "null"
            ]
          },
          "remaining": {
            "type": "number",
            "format": "double",
            "description": "Wallet left (accumulative) or uses left (declarative)."
          },
          "template_nonce": {
            "type": "string"
          },
          "total_used": {
            "type": "integer",
            "format": "int64"
          },
          "use_block_reason": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_until": {
            "type": "string"
          }
        }
      },
      "WebCouponTemplate": {
        "type": "object",
        "required": [
          "is_active",
          "clips_minted",
          "guarantee_mode",
          "redeems_used"
        ],
        "properties": {
          "accumulated_value_per_clip": {
            "type": [
              "number",
              "null"
            ],
            "format": "double"
          },
          "clipped_validity_days": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "clips_minted": {
            "type": "integer",
            "format": "int64"
          },
          "guarantee_mode": {
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "mint_capacity": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "redeem_capacity": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "redeems_used": {
            "type": "integer",
            "format": "int64"
          },
          "valid_from": {
            "type": [
              "string",
              "null"
            ]
          },
          "valid_until": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebDomain": {
        "type": "object",
        "required": [
          "host",
          "token",
          "verified"
        ],
        "properties": {
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "type": "string"
          },
          "method": {
            "type": [
              "string",
              "null"
            ]
          },
          "token": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "verified_at": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebEdge": {
        "type": "object",
        "required": [
          "kind",
          "source_type",
          "source_nonce",
          "target_nonce"
        ],
        "properties": {
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "field": {
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "type": "string"
          },
          "rights": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions"
              }
            ]
          },
          "source_nonce": {
            "type": "string"
          },
          "source_type": {
            "type": "string"
          },
          "target_nonce": {
            "type": "string"
          },
          "target_type": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebHandoff": {
        "type": "object",
        "required": [
          "reason",
          "at"
        ],
        "properties": {
          "at": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        }
      },
      "WebI18nEntry": {
        "type": "object",
        "required": [
          "lang",
          "source",
          "title"
        ],
        "properties": {
          "content": {
            "type": "string"
          },
          "lang": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "teaser": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "WebLink": {
        "type": "object",
        "required": [
          "nonce",
          "owner",
          "card_type",
          "token",
          "link_publicity",
          "read",
          "write",
          "execute",
          "status",
          "claimable_by",
          "targets",
          "canonical_lang",
          "i18n"
        ],
        "properties": {
          "canonical_lang": {
            "type": "string"
          },
          "card_type": {
            "type": "string"
          },
          "claimable_by": {
            "type": "string",
            "description": "Who may claim the link: \"user\", \"agenda\" or \"both\"."
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "execute": {
            "type": "boolean"
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "grant_ttl": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebI18nEntry"
            }
          },
          "link_publicity": {
            "type": "string"
          },
          "max_openers": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "nonce": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "read": {
            "type": "boolean"
          },
          "status": {
            "type": "string"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ShareTargetRef"
            }
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          },
          "token": {
            "type": "string"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "write": {
            "type": "boolean"
          }
        }
      },
      "WebLinkGrant": {
        "type": "object",
        "description": "One subject's grant from a link, as its owner manages it (a subscription: who, for which project, until when).",
        "required": [
          "grant",
          "subject",
          "subject_type",
          "status",
          "targets"
        ],
        "properties": {
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "ended_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "grant": {
            "type": "string",
            "description": "Id for PATCH / DELETE .../grants/{grant}."
          },
          "project": {
            "type": [
              "string",
              "null"
            ],
            "description": "The claimer's project the grant was claimed for."
          },
          "project_title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Only when the caller may see that project."
          },
          "status": {
            "type": "string",
            "description": "\"active\", \"expired\" or \"revoked\"."
          },
          "subject": {
            "type": "string"
          },
          "subject_type": {
            "type": "string",
            "description": "\"user\" or \"agenda\"."
          },
          "targets": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "WebMember": {
        "type": "object",
        "required": [
          "mxid",
          "role"
        ],
        "properties": {
          "mxid": {
            "type": "string",
            "description": "Member id (from the members list or a message sender)."
          },
          "role": {
            "type": "string"
          }
        }
      },
      "WebMessage": {
        "type": "object",
        "required": [
          "id",
          "seq",
          "kind",
          "text",
          "sender",
          "timestamp",
          "edited",
          "deleted"
        ],
        "properties": {
          "contact": {},
          "deleted": {
            "type": "boolean"
          },
          "edited": {
            "type": "boolean"
          },
          "formatted_body": {
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "location": {},
          "media": {
            "type": [
              "object",
              "null"
            ]
          },
          "origin": {},
          "poll": {},
          "reactions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebReaction"
            }
          },
          "reply_markup": {},
          "reply_to": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebReply"
              }
            ]
          },
          "sender": {
            "$ref": "#/components/schemas/WebSender"
          },
          "seq": {
            "type": "integer",
            "format": "int64"
          },
          "text": {
            "type": "string"
          },
          "thread_id": {
            "type": [
              "string",
              "null"
            ]
          },
          "timestamp": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "WebMintedPat": {
        "type": "object",
        "required": [
          "pat",
          "token"
        ],
        "properties": {
          "pat": {
            "$ref": "#/components/schemas/WebPat"
          },
          "token": {
            "type": "string"
          }
        }
      },
      "WebPat": {
        "type": "object",
        "required": [
          "nonce",
          "title",
          "token_preview",
          "revoked"
        ],
        "properties": {
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "revoked": {
            "type": "boolean"
          },
          "title": {
            "type": "string"
          },
          "token_preview": {
            "type": "string"
          }
        }
      },
      "WebPermissions": {
        "type": "object",
        "required": [
          "read",
          "write",
          "execute"
        ],
        "properties": {
          "execute": {
            "type": "boolean"
          },
          "read": {
            "type": "boolean"
          },
          "write": {
            "type": "boolean"
          }
        }
      },
      "WebReaction": {
        "type": "object",
        "required": [
          "key",
          "count",
          "mine"
        ],
        "properties": {
          "count": {
            "type": "integer",
            "format": "int64"
          },
          "key": {
            "type": "string"
          },
          "mine": {
            "type": "boolean"
          }
        }
      },
      "WebRelation": {
        "type": "object",
        "required": [
          "nonce",
          "rel",
          "source_nonce",
          "target_nonce",
          "direction",
          "directed",
          "title",
          "label",
          "mine",
          "card"
        ],
        "properties": {
          "card": {
            "$ref": "#/components/schemas/CardTile"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "directed": {
            "type": "boolean"
          },
          "direction": {
            "type": "string"
          },
          "inverse_title": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "mine": {
            "type": "boolean"
          },
          "nonce": {
            "type": "string"
          },
          "rel": {
            "type": "string"
          },
          "source_nonce": {
            "type": "string"
          },
          "target_nonce": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "WebReply": {
        "type": "object",
        "required": [
          "id",
          "text",
          "sender"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "sender": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        }
      },
      "WebRoom": {
        "type": "object",
        "required": [
          "nonce",
          "owner",
          "card_type",
          "visibility",
          "publicity",
          "canonical_lang",
          "i18n",
          "talk"
        ],
        "properties": {
          "actor": {
            "type": [
              "string",
              "null"
            ]
          },
          "as_oracle": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "avatar": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MediaRef"
              }
            ]
          },
          "canonical_lang": {
            "type": "string"
          },
          "card_permissions": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebPermissions",
                "description": "Card audience rights (read, write, execute); owner only. `permissions` is what you may do in the conversation."
              }
            ]
          },
          "card_type": {
            "type": "string"
          },
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "handle": {
            "type": [
              "string",
              "null"
            ]
          },
          "i18n": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WebI18nEntry"
            }
          },
          "location": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LocationWire"
              }
            ]
          },
          "nonce": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "permissions": {
            "type": [
              "object",
              "null"
            ]
          },
          "project": {
            "type": [
              "string",
              "null"
            ]
          },
          "publicity": {
            "type": "string"
          },
          "role": {
            "type": [
              "string",
              "null"
            ]
          },
          "rubrics": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RubricRef"
            }
          },
          "scene": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "$ref": "#/components/schemas/WebMessage"
            }
          },
          "state": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebTalkState"
              }
            ]
          },
          "talk": {
            "$ref": "#/components/schemas/WebTalk"
          },
          "unread": {
            "type": [
              "integer",
              "null"
            ],
            "format": "int64"
          },
          "updated_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "visibility": {
            "type": "string"
          }
        }
      },
      "WebSecret": {
        "type": "object",
        "required": [
          "nonce",
          "owner",
          "title",
          "key_name",
          "is_or_key"
        ],
        "properties": {
          "created_at": {
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "type": [
              "string",
              "null"
            ]
          },
          "is_or_key": {
            "type": "boolean"
          },
          "key_name": {
            "type": "string"
          },
          "nonce": {
            "type": "string"
          },
          "owner": {
            "type": "string"
          },
          "title": {
            "type": "string"
          }
        }
      },
      "WebSender": {
        "type": "object",
        "required": [
          "name",
          "is_self",
          "mxid"
        ],
        "properties": {
          "is_self": {
            "type": "boolean"
          },
          "mxid": {
            "type": "string",
            "description": "Member id (from the members list or a message sender)."
          },
          "name": {
            "type": "string"
          }
        }
      },
      "WebTalk": {
        "type": "object",
        "required": [
          "kind",
          "listener"
        ],
        "properties": {
          "agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "handoff": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/WebHandoff"
              }
            ]
          },
          "kind": {
            "type": "string"
          },
          "listener": {
            "type": "string"
          },
          "widget": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebTalkState": {
        "type": "object",
        "required": [
          "member_count",
          "join_rule",
          "history_visibility",
          "settings",
          "pinned"
        ],
        "properties": {
          "history_visibility": {
            "type": "string"
          },
          "join_rule": {
            "type": "string"
          },
          "member_count": {
            "type": "integer",
            "minimum": 0
          },
          "pinned": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "settings": {
            "type": "object"
          }
        }
      },
      "WebUser": {
        "type": "object",
        "required": [
          "nonce",
          "tg_id",
          "first_name",
          "distance_units",
          "time_format"
        ],
        "properties": {
          "distance_units": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "language": {
            "type": [
              "string",
              "null"
            ]
          },
          "last_name": {
            "type": [
              "string",
              "null"
            ]
          },
          "nonce": {
            "type": "string"
          },
          "tg_id": {
            "type": "string"
          },
          "time_format": {
            "type": "string"
          },
          "timezone": {
            "type": [
              "string",
              "null"
            ]
          },
          "translation_agenda": {
            "type": [
              "string",
              "null"
            ]
          },
          "username": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      },
      "WebWallet": {
        "type": "object",
        "required": [
          "chain",
          "address",
          "link",
          "qr"
        ],
        "properties": {
          "address": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "link": {
            "type": "string"
          },
          "qr": {
            "type": "string"
          }
        }
      },
      "WorkspacesResponse": {
        "type": "object",
        "required": [
          "workspaces",
          "total"
        ],
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64"
          },
          "workspaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CardTile"
            }
          }
        }
      },
      "CampaignOpenRow": {
        "type": "object",
        "required": [
          "utm_campaign",
          "utm_source",
          "opens",
          "uniques"
        ],
        "properties": {
          "opens": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "uniques": {
            "type": "integer",
            "format": "int64",
            "minimum": 0
          },
          "utm_campaign": {
            "type": "string"
          },
          "utm_source": {
            "type": "string"
          }
        }
      }
    }
  }
}