{
  "openapi": "3.1.0",
  "jsonSchemaDialect": "http://json-schema.org/draft-07/schema#",
  "info": {
    "title": "sometimes bots API",
    "version": "1.0.0",
    "description": "user-installed third-party bots. JSON schemas describe structural bounds; consent, ownership, weighted text, media bytes and geometry receive additional server validation."
  },
  "servers": [
    {
      "url": "https://sometimeschat.com"
    }
  ],
  "paths": {
    "/api/bots/v1/applications/@me": {
      "get": {
        "operationId": "get_applications_me",
        "summary": "GET /applications/@me",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/installations": {
      "get": {
        "operationId": "get_installations",
        "summary": "GET /installations",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Installation"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/installations/@current": {
      "get": {
        "operationId": "get_installations_current",
        "summary": "GET /installations/@current",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Installation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/limits": {
      "get": {
        "operationId": "get_limits",
        "summary": "GET /limits",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Limits"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats": {
      "get": {
        "operationId": "get_chats",
        "summary": "GET /chats",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Chat"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}": {
      "get": {
        "operationId": "get_chats_by_chat",
        "summary": "GET /chats/{chat}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Chat"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/dm": {
      "post": {
        "operationId": "post_dm",
        "summary": "POST /dm",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot_dm",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Chat"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/gateway/tickets": {
      "post": {
        "operationId": "post_gateway_tickets",
        "summary": "POST /gateway/tickets",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GatewayTicket"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/applications/@me/commands": {
      "get": {
        "operationId": "get_applications_me_commands",
        "summary": "GET /applications/@me/commands",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Command"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_applications_me_commands",
        "summary": "POST /applications/@me/commands",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommandCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Command"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/applications/@me/commands/{id}": {
      "patch": {
        "operationId": "patch_applications_me_commands_by_id",
        "summary": "PATCH /applications/@me/commands/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommandPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Command"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_applications_me_commands_by_id",
        "summary": "DELETE /applications/@me/commands/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/interactions/{id}/ack": {
      "post": {
        "operationId": "post_interactions_by_id_ack",
        "summary": "POST /interactions/{id}/ack",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "commands or bot.messages.components; plus selected response send permission",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ephemeral": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "ephemeral"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/interactions/{id}/responses": {
      "post": {
        "operationId": "post_interactions_by_id_responses",
        "summary": "POST /interactions/{id}/responses",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "commands or bot.messages.components; plus bot.messages.send or bot.messages.ephemeral",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "x-weighted-max-length": 4000,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "ephemeral": {
                    "type": "boolean"
                  },
                  "display": {
                    "$ref": "#/components/schemas/DisplayDocument"
                  }
                },
                "required": [
                  "content",
                  "ephemeral"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/interactions/{id}/responses/{message}": {
      "patch": {
        "operationId": "patch_interactions_by_id_responses_by_message",
        "summary": "PATCH /interactions/{id}/responses/{message}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "commands or bot.messages.components; plus bot.messages.edit",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "message",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "string",
                    "x-weighted-max-length": 4000,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  }
                },
                "required": [
                  "content"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageReceipt"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_interactions_by_id_responses_by_message",
        "summary": "DELETE /interactions/{id}/responses/{message}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "commands or bot.messages.components; plus bot.messages.delete",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "message",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/messages": {
      "get": {
        "operationId": "get_chats_by_chat_messages",
        "summary": "GET /chats/{chat}/messages",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "messages.read_self or messages.read_others; messages.history for earlier content",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "before",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "after",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Message"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_chats_by_chat_messages",
        "summary": "POST /chats/{chat}/messages",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.send or user.messages.send",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessageCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/messages/{id}": {
      "get": {
        "operationId": "get_chats_by_chat_messages_by_id",
        "summary": "GET /chats/{chat}/messages/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_chats_by_chat_messages_by_id",
        "summary": "PATCH /chats/{chat}/messages/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.edit or user.messages.edit",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MessagePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageReceipt"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_chats_by_chat_messages_by_id",
        "summary": "DELETE /chats/{chat}/messages/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.delete or user.messages.delete",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/messages/{id}/display": {
      "get": {
        "operationId": "get_chats_by_chat_messages_by_id_display",
        "summary": "GET /chats/{chat}/messages/{id}/display",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.components; owning installation only",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplaySnapshot"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_chats_by_chat_messages_by_id_display",
        "summary": "PATCH /chats/{chat}/messages/{id}/display",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.components + bot.messages.edit",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisplayUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplaySnapshot"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/ephemeral-messages/{id}/display": {
      "get": {
        "operationId": "get_chats_by_chat_ephemeral_messages_by_id_display",
        "summary": "GET /chats/{chat}/ephemeral-messages/{id}/display",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.components; owning installation only",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplaySnapshot"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_chats_by_chat_ephemeral_messages_by_id_display",
        "summary": "PATCH /chats/{chat}/ephemeral-messages/{id}/display",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.components + bot.messages.edit",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisplayUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplaySnapshot"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/messages/search": {
      "get": {
        "operationId": "get_chats_by_chat_messages_search",
        "summary": "GET /chats/{chat}/messages/search",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "messages.search + author/history grants",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 200
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Message"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/ephemeral-messages": {
      "post": {
        "operationId": "post_chats_by_chat_ephemeral_messages",
        "summary": "POST /chats/{chat}/ephemeral-messages",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.ephemeral",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EphemeralCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/ephemeral-messages/{id}": {
      "patch": {
        "operationId": "patch_chats_by_chat_ephemeral_messages_by_id",
        "summary": "PATCH /chats/{chat}/ephemeral-messages/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.edit",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "const": "bot"
                  },
                  "content": {
                    "type": "string",
                    "x-weighted-max-length": 4000,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  }
                },
                "required": [
                  "actor",
                  "content"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MessageReceipt"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_chats_by_chat_ephemeral_messages_by_id",
        "summary": "DELETE /chats/{chat}/ephemeral-messages/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.messages.delete",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "const": "bot"
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/pins": {
      "get": {
        "operationId": "get_chats_by_chat_pins",
        "summary": "GET /chats/{chat}/pins",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Pin"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/pins/{message}": {
      "put": {
        "operationId": "put_chats_by_chat_pins_by_message",
        "summary": "PUT /chats/{chat}/pins/{message}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.pins.write or user.pins.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "message",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pin"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_chats_by_chat_pins_by_message",
        "summary": "DELETE /chats/{chat}/pins/{message}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.pins.write or user.pins.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "message",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/messages/{id}/reactions/{emoji}": {
      "put": {
        "operationId": "put_chats_by_chat_messages_by_id_reactions_by_emoji",
        "summary": "PUT /chats/{chat}/messages/{id}/reactions/{emoji}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.reactions.write or user.reactions.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "emoji",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Reaction"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_chats_by_chat_messages_by_id_reactions_by_emoji",
        "summary": "DELETE /chats/{chat}/messages/{id}/reactions/{emoji}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.reactions.write or user.reactions.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "emoji",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 64
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/uploads": {
      "post": {
        "operationId": "post_uploads",
        "summary": "POST /uploads",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UploadCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Upload"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/uploads/{id}/parts/{number}": {
      "put": {
        "operationId": "put_uploads_by_id_parts_by_number",
        "summary": "PUT /uploads/{id}/parts/{number}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 15
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Content-Length",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UploadPart"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/uploads/{id}/complete": {
      "post": {
        "operationId": "post_uploads_by_id_complete",
        "summary": "POST /uploads/{id}/complete",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "parts": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/UploadPart"
                    },
                    "maxItems": 15,
                    "minItems": 1
                  }
                },
                "required": [
                  "parts"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Asset"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/uploads/{id}": {
      "delete": {
        "operationId": "delete_uploads_by_id",
        "summary": "DELETE /uploads/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/attachments": {
      "post": {
        "operationId": "post_chats_by_chat_attachments",
        "summary": "POST /chats/{chat}/attachments",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  },
                  "asset_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "caption": {
                    "type": "string",
                    "x-weighted-max-length": 4000,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  }
                },
                "required": [
                  "actor",
                  "asset_id"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/attachments/{id}/content": {
      "get": {
        "operationId": "get_chats_by_chat_attachments_by_id_content",
        "summary": "GET /chats/{chat}/attachments/{id}/content",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "attachments.download + readable message",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/stickers/sendable": {
      "get": {
        "operationId": "get_stickers_sendable",
        "summary": "GET /stickers/sendable",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.stickers.send or user.stickers.send",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "actor",
            "in": "query",
            "required": true,
            "schema": {
              "enum": [
                "bot",
                "user"
              ]
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Sticker"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/stickers/{id}/content": {
      "get": {
        "operationId": "get_stickers_by_id_content",
        "summary": "GET /stickers/{id}/content",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "actor",
            "in": "query",
            "required": true,
            "schema": {
              "enum": [
                "bot",
                "user"
              ]
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/stickers": {
      "post": {
        "operationId": "post_chats_by_chat_stickers",
        "summary": "POST /chats/{chat}/stickers",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  },
                  "sticker_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "asset_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/gifs/search": {
      "get": {
        "operationId": "get_gifs_search",
        "summary": "GET /gifs/search",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.gifs.send or user.gifs.send",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "actor",
            "in": "query",
            "required": true,
            "schema": {
              "enum": [
                "bot",
                "user"
              ]
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Gif"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/gifs": {
      "post": {
        "operationId": "post_chats_by_chat_gifs",
        "summary": "POST /chats/{chat}/gifs",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  },
                  "gif_id": {
                    "type": "string",
                    "maxLength": 4096
                  }
                },
                "required": [
                  "actor",
                  "gif_id"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Message"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/stickers": {
      "get": {
        "operationId": "get_me_stickers",
        "summary": "GET /me/stickers",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "stickers.manage",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Sticker"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_me_stickers",
        "summary": "POST /me/stickers",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "stickers.manage",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "asset_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 40
                  }
                },
                "required": [
                  "asset_id",
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sticker"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/stickers/{id}/content": {
      "get": {
        "operationId": "get_me_stickers_by_id_content",
        "summary": "GET /me/stickers/{id}/content",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "stickers.manage",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/stickers/{id}": {
      "delete": {
        "operationId": "delete_me_stickers_by_id",
        "summary": "DELETE /me/stickers/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "stickers.manage",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/scribbles": {
      "get": {
        "operationId": "get_chats_by_chat_scribbles",
        "summary": "GET /chats/{chat}/scribbles",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "scribbles.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Scribble"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_chats_by_chat_scribbles",
        "summary": "POST /chats/{chat}/scribbles",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScribbleCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Scribble"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/scribbles/{id}": {
      "patch": {
        "operationId": "patch_chats_by_chat_scribbles_by_id",
        "summary": "PATCH /chats/{chat}/scribbles/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScribblePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "revision": {
                      "type": "string",
                      "pattern": "^\\d+$"
                    }
                  },
                  "required": [
                    "revision"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/scribbles/erase": {
      "post": {
        "operationId": "post_chats_by_chat_scribbles_erase",
        "summary": "POST /chats/{chat}/scribbles/erase",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScribbleErase"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ScribbleErased"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/scribbles/preview": {
      "post": {
        "operationId": "post_chats_by_chat_scribbles_preview",
        "summary": "POST /chats/{chat}/scribbles/preview",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  },
                  "preview_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "stroke": {
                    "type": "object",
                    "properties": {
                      "anchor_sequence": {
                        "type": "string",
                        "pattern": "^\\d+$"
                      },
                      "canvas_width": {
                        "type": "integer",
                        "minimum": 200,
                        "maximum": 4000
                      },
                      "tool": {
                        "enum": [
                          "pen",
                          "pencil",
                          "highlighter"
                        ]
                      },
                      "color": {
                        "type": "string",
                        "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                      },
                      "size": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 24
                      },
                      "points": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "items": [
                            {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            {
                              "type": "number",
                              "minimum": -8,
                              "maximum": 8
                            }
                          ],
                          "minItems": 2,
                          "maxItems": 2
                        },
                        "minItems": 1,
                        "maxItems": 1200
                      },
                      "draw_order": {
                        "type": "integer",
                        "minimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "anchor_sequence",
                      "tool",
                      "color",
                      "size",
                      "points"
                    ],
                    "additionalProperties": false
                  },
                  "revision": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 9007199254740991
                  }
                },
                "required": [
                  "actor",
                  "preview_id",
                  "stroke",
                  "revision"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/placements": {
      "get": {
        "operationId": "get_chats_by_chat_placements",
        "summary": "GET /chats/{chat}/placements",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Placement"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/placements/{id}": {
      "patch": {
        "operationId": "patch_chats_by_chat_placements_by_id",
        "summary": "PATCH /chats/{chat}/placements/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlacementPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Placement"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_chats_by_chat_placements_by_id",
        "summary": "DELETE /chats/{chat}/placements/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/polls": {
      "post": {
        "operationId": "post_chats_by_chat_polls",
        "summary": "POST /chats/{chat}/polls",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PollCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PollCreated"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/polls/{id}": {
      "get": {
        "operationId": "get_chats_by_chat_polls_by_id",
        "summary": "GET /chats/{chat}/polls/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "polls.results + readable message",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Poll"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/polls/{id}/close": {
      "post": {
        "operationId": "post_chats_by_chat_polls_by_id_close",
        "summary": "POST /chats/{chat}/polls/{id}/close",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "enum": [
                      "bot",
                      "user"
                    ]
                  }
                },
                "required": [
                  "actor"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "revision": {
                      "type": "string",
                      "pattern": "^\\d+$"
                    }
                  },
                  "required": [
                    "revision"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/polls/{id}/vote": {
      "put": {
        "operationId": "put_chats_by_chat_polls_by_id_vote",
        "summary": "PUT /chats/{chat}/polls/{id}/vote",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.polls.vote",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "actor": {
                    "const": "user"
                  },
                  "option_ids": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 20
                  }
                },
                "required": [
                  "actor",
                  "option_ids"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PollVote"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/games": {
      "get": {
        "operationId": "get_games",
        "summary": "GET /games",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.games.start",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Game"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/games": {
      "post": {
        "operationId": "post_chats_by_chat_games",
        "summary": "POST /chats/{chat}/games",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.games.start",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "game_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "options": {
                    "type": "object",
                    "properties": {},
                    "required": [],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "game_id"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GameStarted"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/call": {
      "get": {
        "operationId": "get_chats_by_chat_call",
        "summary": "GET /chats/{chat}/call",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/Call"
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls": {
      "get": {
        "operationId": "get_calls",
        "summary": "GET /calls",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Call"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/calls": {
      "post": {
        "operationId": "post_chats_by_chat_calls",
        "summary": "POST /chats/{chat}/calls",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.calls.start",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "video": {
                    "type": "boolean"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the existing resource",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Call"
                }
              }
            }
          },
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Call"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions": {
      "post": {
        "operationId": "post_calls_by_call_sessions",
        "summary": "POST /calls/{call}/sessions",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.calls.join_with_user or bot.calls.join_all",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallSession"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/heartbeat": {
      "post": {
        "operationId": "post_calls_by_call_sessions_by_session_heartbeat",
        "summary": "POST /calls/{call}/sessions/{session}/heartbeat",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "expires_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "expires_at"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/tracks": {
      "get": {
        "operationId": "get_calls_by_call_sessions_by_session_tracks",
        "summary": "GET /calls/{call}/sessions/{session}/tracks",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Track"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/publish": {
      "post": {
        "operationId": "post_calls_by_call_sessions_by_session_publish",
        "summary": "POST /calls/{call}/sessions/{session}/publish",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Publish"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Negotiation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/subscriptions": {
      "post": {
        "operationId": "post_calls_by_call_sessions_by_session_subscriptions",
        "summary": "POST /calls/{call}/sessions/{session}/subscriptions",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "track_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "maxItems": 64,
                    "minItems": 1
                  }
                },
                "required": [
                  "track_ids"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Negotiation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/answer": {
      "put": {
        "operationId": "put_calls_by_call_sessions_by_session_answer",
        "summary": "PUT /calls/{call}/sessions/{session}/answer",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "description": {
                    "$ref": "#/components/schemas/SessionDescription"
                  }
                },
                "required": [
                  "description"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Negotiation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}/tracks/{track}": {
      "delete": {
        "operationId": "delete_calls_by_call_sessions_by_session_tracks_by_track",
        "summary": "DELETE /calls/{call}/sessions/{session}/tracks/{track}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "track",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Negotiation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/sessions/{session}": {
      "delete": {
        "operationId": "delete_calls_by_call_sessions_by_session",
        "summary": "DELETE /calls/{call}/sessions/{session}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "session",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/invitations": {
      "post": {
        "operationId": "post_calls_by_call_invitations",
        "summary": "POST /calls/{call}/invitations",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.calls.invite",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[\\w-]{1,100}$"
                    },
                    "minItems": 1,
                    "maxItems": 10,
                    "uniqueItems": true
                  }
                },
                "required": [
                  "user_ids"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallInvitation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/calls/{call}/invitations/{id}": {
      "get": {
        "operationId": "get_calls_by_call_invitations_by_id",
        "summary": "GET /calls/{call}/invitations/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.calls.invite",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "call",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CallInvitation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/profile": {
      "get": {
        "operationId": "get_me_profile",
        "summary": "GET /me/profile",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.read_self",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_me_profile",
        "summary": "PATCH /me/profile",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfilePatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileChanged"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/profile/revision": {
      "get": {
        "operationId": "get_me_profile_revision",
        "summary": "GET /me/profile/revision",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "revision": {
                      "type": "string",
                      "pattern": "^\\d+$"
                    }
                  },
                  "required": [
                    "revision"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/profiles/{user}": {
      "get": {
        "operationId": "get_profiles_by_user",
        "summary": "GET /profiles/{user}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.read_self or profile.read_others",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Profile"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/profiles/resolve": {
      "get": {
        "operationId": "get_profiles_resolve",
        "summary": "GET /profiles/resolve",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.read_others",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "display_name": {
                      "type": "string"
                    },
                    "kind": {
                      "enum": [
                        "user",
                        "bot"
                      ]
                    },
                    "avatar_url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "id",
                    "display_name",
                    "kind",
                    "avatar_url"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/profiles/{user}/assets/{asset}": {
      "get": {
        "operationId": "get_profiles_by_user_assets_by_asset",
        "summary": "GET /profiles/{user}/assets/{asset}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "asset",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/identities/{user}/avatar": {
      "get": {
        "operationId": "get_identities_by_user_avatar",
        "summary": "GET /identities/{user}/avatar",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/announcement-packs": {
      "get": {
        "operationId": "get_announcement_packs",
        "summary": "GET /announcement-packs",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "profile.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "name"
                        ],
                        "additionalProperties": true
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/settings": {
      "get": {
        "operationId": "get_me_settings",
        "summary": "GET /me/settings",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "settings.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "target_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Settings"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_me_settings",
        "summary": "PATCH /me/settings",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "settings.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SettingsPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SettingsChanged"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/settings/targets": {
      "get": {
        "operationId": "get_me_settings_targets",
        "summary": "GET /me/settings/targets",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "settings.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SettingsTarget"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/chats/{chat}/mute": {
      "get": {
        "operationId": "get_chats_by_chat_mute",
        "summary": "GET /chats/{chat}/mute",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "chats.mute",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mute"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "put_chats_by_chat_mute",
        "summary": "PUT /chats/{chat}/mute",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "chats.mute",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "muted": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "muted"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Mute"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/groups": {
      "post": {
        "operationId": "post_groups",
        "summary": "POST /groups",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "bot.groups.create",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "x-weighted-max-length": 48,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "member_ids": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[\\w-]{1,100}$"
                    },
                    "minItems": 1,
                    "maxItems": 19,
                    "uniqueItems": true
                  },
                  "icon_asset_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  }
                },
                "required": [
                  "name",
                  "member_ids"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/groups/{group}": {
      "get": {
        "operationId": "get_groups_by_group",
        "summary": "GET /groups/{group}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.groups.write or groups.members.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_groups_by_group",
        "summary": "PATCH /groups/{group}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.groups.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "x-weighted-max-length": 48,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "icon_asset_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^[\\w-]+$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "members_locked": {
                    "type": "boolean"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/groups/{group}/members": {
      "get": {
        "operationId": "get_groups_by_group_members",
        "summary": "GET /groups/{group}/members",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "groups.members.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupMember"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/groups/{group}/members/{user}": {
      "put": {
        "operationId": "put_groups_by_group_members_by_user",
        "summary": "PUT /groups/{group}/members/{user}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.groups.members",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_groups_by_group_members_by_user",
        "summary": "DELETE /groups/{group}/members/{user}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.groups.members",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "group",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/friends": {
      "get": {
        "operationId": "get_me_friends",
        "summary": "GET /me/friends",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "friends.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Friend"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/friend-requests": {
      "get": {
        "operationId": "get_me_friend_requests",
        "summary": "GET /me/friend-requests",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "friends.requests.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "incoming",
                "outgoing",
                "both"
              ]
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FriendRequest"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_me_friend_requests",
        "summary": "POST /me/friend-requests",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.friends.request",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "user_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  }
                },
                "required": [
                  "user_id"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FriendRequest"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/friend-requests/{id}": {
      "delete": {
        "operationId": "delete_me_friend_requests_by_id",
        "summary": "DELETE /me/friend-requests/{id}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.friends.request",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/friend-requests/{id}/respond": {
      "post": {
        "operationId": "post_me_friend_requests_by_id_respond",
        "summary": "POST /me/friend-requests/{id}/respond",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.friends.respond",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "decision": {
                    "enum": [
                      "accept",
                      "deny"
                    ]
                  }
                },
                "required": [
                  "decision"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FriendResponse"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/me/blocks/{user}": {
      "put": {
        "operationId": "put_me_blocks_by_user",
        "summary": "PUT /me/blocks/{user}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.blocks.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_me_blocks_by_user",
        "summary": "DELETE /me/blocks/{user}",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "user.blocks.write",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/presence": {
      "get": {
        "operationId": "get_presence",
        "summary": "GET /presence",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "presence.read",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "user_ids",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "description": "1–100 comma-separated user IDs."
            }
          },
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Presence"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bots/v1/notifications": {
      "post": {
        "operationId": "post_notifications",
        "summary": "POST /notifications",
        "description": "current installation scope, blocks, ownership and resource visibility apply in addition to grants.",
        "x-permissions": "notifications.send",
        "security": [
          {
            "BotToken": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes-Installation",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "Idempotency-Key",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 128
            },
            "description": "reuse the same key and body after an uncertain outcome; receipts are retained for 24 hours."
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "x-weighted-max-length": 80,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "body": {
                    "type": "string",
                    "x-weighted-max-length": 240,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "chat_id": {
                    "type": "string",
                    "pattern": "^[\\w-]{1,100}$"
                  },
                  "message_id": {
                    "type": "string",
                    "pattern": "^[\\w-]{1,100}$"
                  }
                },
                "required": [
                  "title",
                  "body"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Notification"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-displays/{id}": {
      "get": {
        "operationId": "get_api_conversations_by_chat_bot_displays_by_id",
        "summary": "GET /api/conversations/{chat}/bot-displays/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisplaySnapshot"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-displays/{id}/assets/{asset}": {
      "get": {
        "operationId": "get_api_conversations_by_chat_bot_displays_by_id_assets_by_asset",
        "summary": "GET /api/conversations/{chat}/bot-displays/{id}/assets/{asset}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "asset",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-displays/{id}/interactions": {
      "post": {
        "operationId": "post_api_conversations_by_chat_bot_displays_by_id_interactions",
        "summary": "POST /api/conversations/{chat}/bot-displays/{id}/interactions",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DisplayInteractionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "ack_deadline": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "expires_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "ack_deadline",
                    "expires_at"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots": {
      "get": {
        "operationId": "get_api_developers_bots",
        "summary": "GET /api/developers/bots",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Application"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_api_developers_bots",
        "summary": "POST /api/developers/bots",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "x-weighted-max-length": 60,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "description": {
                    "type": "string",
                    "x-weighted-max-length": 200,
                    "x-weighted-min-length": 0,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
                    "x-max-lines": 6
                  }
                },
                "required": [
                  "name"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}": {
      "get": {
        "operationId": "get_api_developers_bots_by_app",
        "summary": "GET /api/developers/bots/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_developers_bots_by_app",
        "summary": "PATCH /api/developers/bots/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "x-weighted-max-length": 60,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "description": {
                    "type": "string",
                    "x-weighted-max-length": 200,
                    "x-weighted-min-length": 0,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
                    "x-max-lines": 6
                  },
                  "icon_asset_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^[\\w-]+$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "banner_asset_id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^[\\w-]+$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "support_url": {
                    "type": "string"
                  },
                  "privacy_url": {
                    "type": "string"
                  },
                  "visibility": {
                    "enum": [
                      "public",
                      "private"
                    ]
                  },
                  "install_policy": {
                    "enum": [
                      "account",
                      "either",
                      "chat"
                    ]
                  },
                  "permissions": {
                    "type": "object",
                    "propertyNames": {
                      "enum": [
                        "administrator",
                        "messages.read_self",
                        "messages.read_others",
                        "messages.history",
                        "messages.search",
                        "scribbles.read",
                        "bot_dm",
                        "calls.audio.receive",
                        "calls.video.receive",
                        "calls.screen.receive",
                        "attachments.download",
                        "polls.results",
                        "presence.read",
                        "typing.read",
                        "groups.members.read",
                        "friends.read",
                        "friends.requests.read",
                        "profile.read_self",
                        "profile.read_others",
                        "profile.write",
                        "settings.write",
                        "chats.mute",
                        "commands",
                        "notifications.send",
                        "stickers.manage",
                        "bot.messages.send",
                        "bot.messages.ephemeral",
                        "bot.messages.edit",
                        "bot.messages.delete",
                        "bot.scribbles.write",
                        "bot.scribbles.erase",
                        "bot.stickers.send",
                        "bot.gifs.send",
                        "bot.placements.write",
                        "bot.attachments.send",
                        "bot.polls.create",
                        "bot.polls.close",
                        "bot.pins.write",
                        "bot.reactions.write",
                        "bot.games.start",
                        "bot.groups.create",
                        "bot.calls.start",
                        "bot.calls.speak",
                        "bot.calls.join_with_user",
                        "bot.calls.join_all",
                        "bot.calls.video",
                        "bot.calls.invite",
                        "user.messages.send",
                        "user.messages.edit",
                        "user.messages.delete",
                        "user.scribbles.write",
                        "user.scribbles.erase",
                        "user.stickers.send",
                        "user.gifs.send",
                        "user.placements.write",
                        "user.attachments.send",
                        "user.polls.create",
                        "user.polls.close",
                        "user.polls.vote",
                        "user.pins.write",
                        "user.reactions.write",
                        "user.friends.request",
                        "user.friends.respond",
                        "user.blocks.write",
                        "user.groups.write",
                        "user.groups.members",
                        "bot.messages.components"
                      ]
                    },
                    "additionalProperties": {
                      "enum": [
                        "disabled",
                        "optional",
                        "required"
                      ]
                    }
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_developers_bots_by_app",
        "summary": "DELETE /api/developers/bots/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "confirmation": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  }
                },
                "required": [
                  "confirmation"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/icon": {
      "put": {
        "operationId": "put_api_developers_bots_by_app_icon",
        "summary": "PUT /api/developers/bots/{app}/icon",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          },
          {
            "name": "Content-Length",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/banner": {
      "put": {
        "operationId": "put_api_developers_bots_by_app_banner",
        "summary": "PUT /api/developers/bots/{app}/banner",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          },
          {
            "name": "Content-Length",
            "in": "header",
            "required": true,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 9007199254740991
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/octet-stream": {
              "schema": {
                "type": "string",
                "format": "binary"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/publish": {
      "post": {
        "operationId": "post_api_developers_bots_by_app_publish",
        "summary": "POST /api/developers/bots/{app}/publish",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "draft_revision": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  }
                },
                "required": [
                  "draft_revision"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/unpublish": {
      "post": {
        "operationId": "post_api_developers_bots_by_app_unpublish",
        "summary": "POST /api/developers/bots/{app}/unpublish",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/enabled": {
      "patch": {
        "operationId": "patch_api_developers_bots_by_app_enabled",
        "summary": "PATCH /api/developers/bots/{app}/enabled",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "enabled"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Application"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/invites": {
      "get": {
        "operationId": "get_api_developers_bots_by_app_invites",
        "summary": "GET /api/developers/bots/{app}/invites",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DeveloperUser"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/resolve": {
      "get": {
        "operationId": "get_api_developers_bots_by_app_resolve",
        "summary": "GET /api/developers/bots/{app}/resolve",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "username",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeveloperUser"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/invites/{user}": {
      "put": {
        "operationId": "put_api_developers_bots_by_app_invites_by_user",
        "summary": "PUT /api/developers/bots/{app}/invites/{user}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_developers_bots_by_app_invites_by_user",
        "summary": "DELETE /api/developers/bots/{app}/invites/{user}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "user",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/tokens": {
      "get": {
        "operationId": "get_api_developers_bots_by_app_tokens",
        "summary": "GET /api/developers/bots/{app}/tokens",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Token"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_api_developers_bots_by_app_tokens",
        "summary": "POST /api/developers/bots/{app}/tokens",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  }
                },
                "required": [
                  "label"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "token": {
                      "type": "string"
                    },
                    "token_id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    }
                  },
                  "required": [
                    "token",
                    "token_id"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/tokens/{token}": {
      "delete": {
        "operationId": "delete_api_developers_bots_by_app_tokens_by_token",
        "summary": "DELETE /api/developers/bots/{app}/tokens/{token}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/commands": {
      "get": {
        "operationId": "get_api_developers_bots_by_app_commands",
        "summary": "GET /api/developers/bots/{app}/commands",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Command"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "post_api_developers_bots_by_app_commands",
        "summary": "POST /api/developers/bots/{app}/commands",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommandCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Command"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/developers/bots/{app}/commands/{id}": {
      "patch": {
        "operationId": "patch_api_developers_bots_by_app_commands_by_id",
        "summary": "PATCH /api/developers/bots/{app}/commands/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CommandPatch"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Command"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_developers_bots_by_app_commands_by_id",
        "summary": "DELETE /api/developers/bots/{app}/commands/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs/authorize/{app}": {
      "get": {
        "operationId": "get_api_bot_installs_authorize_by_app",
        "summary": "GET /api/bot-installs/authorize/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConsentPrompt"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs/authorize/{app}/chats": {
      "get": {
        "operationId": "get_api_bot_installs_authorize_by_app_chats",
        "summary": "GET /api/bot-installs/authorize/{app}/chats",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Chat"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs": {
      "post": {
        "operationId": "post_api_bot_installs",
        "summary": "POST /api/bot-installs",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt_token": {
                    "type": "string"
                  },
                  "revision": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  },
                  "scope": {
                    "$ref": "#/components/schemas/Scope"
                  },
                  "optional_permissions": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "administrator",
                        "messages.read_self",
                        "messages.read_others",
                        "messages.history",
                        "messages.search",
                        "scribbles.read",
                        "bot_dm",
                        "calls.audio.receive",
                        "calls.video.receive",
                        "calls.screen.receive",
                        "attachments.download",
                        "polls.results",
                        "presence.read",
                        "typing.read",
                        "groups.members.read",
                        "friends.read",
                        "friends.requests.read",
                        "profile.read_self",
                        "profile.read_others",
                        "profile.write",
                        "settings.write",
                        "chats.mute",
                        "commands",
                        "notifications.send",
                        "stickers.manage",
                        "bot.messages.send",
                        "bot.messages.ephemeral",
                        "bot.messages.edit",
                        "bot.messages.delete",
                        "bot.scribbles.write",
                        "bot.scribbles.erase",
                        "bot.stickers.send",
                        "bot.gifs.send",
                        "bot.placements.write",
                        "bot.attachments.send",
                        "bot.polls.create",
                        "bot.polls.close",
                        "bot.pins.write",
                        "bot.reactions.write",
                        "bot.games.start",
                        "bot.groups.create",
                        "bot.calls.start",
                        "bot.calls.speak",
                        "bot.calls.join_with_user",
                        "bot.calls.join_all",
                        "bot.calls.video",
                        "bot.calls.invite",
                        "user.messages.send",
                        "user.messages.edit",
                        "user.messages.delete",
                        "user.scribbles.write",
                        "user.scribbles.erase",
                        "user.stickers.send",
                        "user.gifs.send",
                        "user.placements.write",
                        "user.attachments.send",
                        "user.polls.create",
                        "user.polls.close",
                        "user.polls.vote",
                        "user.pins.write",
                        "user.reactions.write",
                        "user.friends.request",
                        "user.friends.respond",
                        "user.blocks.write",
                        "user.groups.write",
                        "user.groups.members",
                        "bot.messages.components"
                      ]
                    }
                  }
                },
                "required": [
                  "prompt_token",
                  "revision",
                  "scope",
                  "optional_permissions"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Installation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "get_api_bot_installs",
        "summary": "GET /api/bot-installs",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Installation"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs/{id}": {
      "get": {
        "operationId": "get_api_bot_installs_by_id",
        "summary": "GET /api/bot-installs/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Installation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "patch_api_bot_installs_by_id",
        "summary": "PATCH /api/bot-installs/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "If-Match",
            "in": "header",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "quoted resource revision, such as \"3\". owner dashboard changes use the application revision."
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "optional_permissions": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "administrator",
                        "messages.read_self",
                        "messages.read_others",
                        "messages.history",
                        "messages.search",
                        "scribbles.read",
                        "bot_dm",
                        "calls.audio.receive",
                        "calls.video.receive",
                        "calls.screen.receive",
                        "attachments.download",
                        "polls.results",
                        "presence.read",
                        "typing.read",
                        "groups.members.read",
                        "friends.read",
                        "friends.requests.read",
                        "profile.read_self",
                        "profile.read_others",
                        "profile.write",
                        "settings.write",
                        "chats.mute",
                        "commands",
                        "notifications.send",
                        "stickers.manage",
                        "bot.messages.send",
                        "bot.messages.ephemeral",
                        "bot.messages.edit",
                        "bot.messages.delete",
                        "bot.scribbles.write",
                        "bot.scribbles.erase",
                        "bot.stickers.send",
                        "bot.gifs.send",
                        "bot.placements.write",
                        "bot.attachments.send",
                        "bot.polls.create",
                        "bot.polls.close",
                        "bot.pins.write",
                        "bot.reactions.write",
                        "bot.games.start",
                        "bot.groups.create",
                        "bot.calls.start",
                        "bot.calls.speak",
                        "bot.calls.join_with_user",
                        "bot.calls.join_all",
                        "bot.calls.video",
                        "bot.calls.invite",
                        "user.messages.send",
                        "user.messages.edit",
                        "user.messages.delete",
                        "user.scribbles.write",
                        "user.scribbles.erase",
                        "user.stickers.send",
                        "user.gifs.send",
                        "user.placements.write",
                        "user.attachments.send",
                        "user.polls.create",
                        "user.polls.close",
                        "user.polls.vote",
                        "user.pins.write",
                        "user.reactions.write",
                        "user.friends.request",
                        "user.friends.respond",
                        "user.blocks.write",
                        "user.groups.write",
                        "user.groups.members",
                        "bot.messages.components"
                      ]
                    }
                  },
                  "enabled": {
                    "type": "boolean"
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Installation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_bot_installs_by_id",
        "summary": "DELETE /api/bot-installs/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs/{id}/reauthorize": {
      "post": {
        "operationId": "post_api_bot_installs_by_id_reauthorize",
        "summary": "POST /api/bot-installs/{id}/reauthorize",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "prompt_token": {
                    "type": "string"
                  },
                  "revision": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  },
                  "scope": {
                    "$ref": "#/components/schemas/Scope"
                  },
                  "optional_permissions": {
                    "type": "array",
                    "items": {
                      "enum": [
                        "administrator",
                        "messages.read_self",
                        "messages.read_others",
                        "messages.history",
                        "messages.search",
                        "scribbles.read",
                        "bot_dm",
                        "calls.audio.receive",
                        "calls.video.receive",
                        "calls.screen.receive",
                        "attachments.download",
                        "polls.results",
                        "presence.read",
                        "typing.read",
                        "groups.members.read",
                        "friends.read",
                        "friends.requests.read",
                        "profile.read_self",
                        "profile.read_others",
                        "profile.write",
                        "settings.write",
                        "chats.mute",
                        "commands",
                        "notifications.send",
                        "stickers.manage",
                        "bot.messages.send",
                        "bot.messages.ephemeral",
                        "bot.messages.edit",
                        "bot.messages.delete",
                        "bot.scribbles.write",
                        "bot.scribbles.erase",
                        "bot.stickers.send",
                        "bot.gifs.send",
                        "bot.placements.write",
                        "bot.attachments.send",
                        "bot.polls.create",
                        "bot.polls.close",
                        "bot.pins.write",
                        "bot.reactions.write",
                        "bot.games.start",
                        "bot.groups.create",
                        "bot.calls.start",
                        "bot.calls.speak",
                        "bot.calls.join_with_user",
                        "bot.calls.join_all",
                        "bot.calls.video",
                        "bot.calls.invite",
                        "user.messages.send",
                        "user.messages.edit",
                        "user.messages.delete",
                        "user.scribbles.write",
                        "user.scribbles.erase",
                        "user.stickers.send",
                        "user.gifs.send",
                        "user.placements.write",
                        "user.attachments.send",
                        "user.polls.create",
                        "user.polls.close",
                        "user.polls.vote",
                        "user.pins.write",
                        "user.reactions.write",
                        "user.friends.request",
                        "user.friends.respond",
                        "user.blocks.write",
                        "user.groups.write",
                        "user.groups.members",
                        "bot.messages.components"
                      ]
                    }
                  }
                },
                "required": [
                  "prompt_token",
                  "revision",
                  "scope",
                  "optional_permissions"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Installation"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-installs/{id}/activity": {
      "get": {
        "operationId": "get_api_bot_installs_by_id_activity",
        "summary": "GET /api/bot-installs/{id}/activity",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "next_cursor": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "data",
                    "next_cursor"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bots": {
      "get": {
        "operationId": "get_api_conversations_by_chat_bots",
        "summary": "GET /api/conversations/{chat}/bots",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[\\w-]+$"
                          },
                          "bot_user_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[\\w-]+$"
                          },
                          "user_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[\\w-]+$"
                          },
                          "installer_name": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "icon_asset_id": {
                            "anyOf": [
                              {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 128,
                                "pattern": "^[\\w-]+$"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "id",
                          "bot_user_id",
                          "user_id",
                          "installer_name",
                          "name",
                          "icon_asset_id"
                        ],
                        "additionalProperties": true
                      }
                    },
                    "exclusions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "application_id": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128,
                            "pattern": "^[\\w-]+$"
                          }
                        },
                        "required": [
                          "application_id"
                        ],
                        "additionalProperties": true
                      }
                    }
                  },
                  "required": [],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-exclusions/{app}": {
      "put": {
        "operationId": "put_api_conversations_by_chat_bot_exclusions_by_app",
        "summary": "PUT /api/conversations/{chat}/bot-exclusions/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "delete_api_conversations_by_chat_bot_exclusions_by_app",
        "summary": "DELETE /api/conversations/{chat}/bot-exclusions/{app}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-commands": {
      "get": {
        "operationId": "get_api_conversations_by_chat_bot_commands",
        "summary": "GET /api/conversations/{chat}/bot-commands",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Command"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-interactions": {
      "post": {
        "operationId": "post_api_conversations_by_chat_bot_interactions",
        "summary": "POST /api/conversations/{chat}/bot-interactions",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "installation_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "command_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "configuration_revision": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  },
                  "options": {
                    "type": "object",
                    "additionalProperties": {
                      "type": [
                        "string",
                        "number",
                        "boolean"
                      ]
                    }
                  }
                },
                "required": [
                  "id",
                  "installation_id",
                  "command_id",
                  "configuration_revision",
                  "options"
                ],
                "additionalProperties": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "the existing resource",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "ack_deadline": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "expires_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "ack_deadline",
                    "expires_at"
                  ],
                  "additionalProperties": true
                }
              }
            }
          },
          "201": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "ack_deadline": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "expires_at": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "id",
                    "ack_deadline",
                    "expires_at"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-interactions/{id}": {
      "get": {
        "operationId": "get_api_bot_interactions_by_id",
        "summary": "GET /api/bot-interactions/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 128,
                      "pattern": "^[\\w-]+$"
                    },
                    "status": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "status"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-ephemeral-messages": {
      "get": {
        "operationId": "get_api_conversations_by_chat_bot_ephemeral_messages",
        "summary": "GET /api/conversations/{chat}/bot-ephemeral-messages",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Message"
                      }
                    }
                  },
                  "required": [
                    "data"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/conversations/{chat}/bot-ephemeral-messages/{id}": {
      "delete": {
        "operationId": "delete_api_conversations_by_chat_bot_ephemeral_messages_by_id",
        "summary": "DELETE /api/conversations/{chat}/bot-ephemeral-messages/{id}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "chat",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "X-Sometimes",
            "in": "header",
            "required": true,
            "schema": {
              "const": "1"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "success",
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/api/bot-images/{app}/{asset}": {
      "get": {
        "operationId": "get_api_bot_images_by_app_by_asset",
        "summary": "GET /api/bot-images/{app}/{asset}",
        "description": "human session and current ownership are required. bot tokens cannot use this endpoint.",
        "security": [
          {
            "HumanSession": []
          }
        ],
        "parameters": [
          {
            "name": "app",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          {
            "name": "asset",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            },
            "headers": {
              "ETag": {
                "schema": {
                  "type": "string"
                },
                "description": "present when this resource has an entity revision."
              },
              "RateLimit-Limit": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Remaining": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "RateLimit-Reset": {
                "schema": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "description": "seconds until the reported token bucket is full."
              },
              "RateLimit-Bucket": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "206": {
            "description": "requested byte range",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "description": "request failed; 429 includes Retry-After in seconds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "BotToken": {
        "type": "apiKey",
        "in": "header",
        "name": "Authorization",
        "description": "Bot stbot_<64 hex characters>; server-to-server only."
      },
      "HumanSession": {
        "type": "apiKey",
        "in": "cookie",
        "name": "sometimes_session",
        "description": "same-origin human browser session. never expose it to a third-party bot."
      }
    },
    "schemas": {
      "DisplayTimeline": {
        "type": "object",
        "properties": {
          "position": {
            "type": "number",
            "minimum": 0,
            "maximum": 86400000
          },
          "duration": {
            "type": "number",
            "minimum": 0,
            "maximum": 86400000
          },
          "at": {
            "type": "number",
            "minimum": 0,
            "maximum": 1000000000000000
          },
          "rate": {
            "type": "number",
            "minimum": 0,
            "maximum": 4
          }
        },
        "required": [
          "position",
          "duration",
          "at",
          "rate"
        ],
        "additionalProperties": false
      },
      "DisplayData": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 4000
          },
          {
            "type": "number",
            "minimum": -1000000000000000,
            "maximum": 1000000000000000
          },
          {
            "type": "boolean"
          },
          {
            "type": "null"
          },
          {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 500
            },
            "maxItems": 100
          },
          {
            "type": "array",
            "items": {
              "type": "array",
              "items": {
                "type": "string",
                "maxLength": 500
              },
              "maxItems": 12
            },
            "maxItems": 100
          },
          {
            "$ref": "#/components/schemas/DisplayTimeline"
          }
        ]
      },
      "DisplayValue": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/DisplayData"
          },
          {
            "type": "object",
            "properties": {
              "bind": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "bind"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DisplayStyle": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|surface|ink|muted|accent|line|transparent)$"
          },
          "background": {
            "type": "string",
            "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|surface|ink|muted|accent|line|transparent)$"
          },
          "borderColor": {
            "type": "string",
            "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|surface|ink|muted|accent|line|transparent)$"
          },
          "gradientTo": {
            "type": "string",
            "pattern": "^(#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|surface|ink|muted|accent|line|transparent)$"
          },
          "gap": {
            "type": "number",
            "minimum": 0,
            "maximum": 48
          },
          "padding": {
            "type": "number",
            "minimum": 0,
            "maximum": 48
          },
          "radius": {
            "type": "number",
            "minimum": 0,
            "maximum": 48
          },
          "fontSize": {
            "type": "number",
            "minimum": 12,
            "maximum": 48
          },
          "borderWidth": {
            "type": "number",
            "minimum": 0,
            "maximum": 4
          },
          "width": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 24,
                "maximum": 960
              },
              {
                "const": "fill"
              }
            ]
          },
          "maxWidth": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 24,
                "maximum": 960
              },
              {
                "const": "fill"
              }
            ]
          },
          "height": {
            "type": "number",
            "minimum": 24,
            "maximum": 480
          },
          "grow": {
            "type": "number",
            "minimum": 0,
            "maximum": 12
          },
          "columns": {
            "type": "string",
            "pattern": "^(?:[1-9](?:\\.[0-9])?fr|auto)(?: (?:[1-9](?:\\.[0-9])?fr|auto)){0,5}$"
          },
          "align": {
            "enum": [
              "start",
              "center",
              "end",
              "stretch"
            ]
          },
          "justify": {
            "enum": [
              "start",
              "center",
              "end",
              "space-between",
              "space-around"
            ]
          },
          "wrap": {
            "enum": [
              "wrap",
              "nowrap"
            ]
          },
          "textAlign": {
            "enum": [
              "left",
              "center",
              "right"
            ]
          },
          "fontWeight": {
            "enum": [
              "normal",
              "medium",
              "bold"
            ]
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "DisplayAction": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "bot"
              },
              "audience": {
                "enum": [
                  "installer",
                  "chat_members"
                ]
              },
              "context": {
                "$ref": "#/components/schemas/DisplayValue"
              }
            },
            "required": [
              "type",
              "audience"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "command"
              },
              "audience": {
                "enum": [
                  "installer",
                  "chat_members"
                ]
              },
              "command_id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "context": {
                "$ref": "#/components/schemas/DisplayValue"
              }
            },
            "required": [
              "type",
              "audience",
              "command_id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "link"
              },
              "audience": {
                "enum": [
                  "installer",
                  "chat_members"
                ]
              },
              "url": {
                "type": "string",
                "maxLength": 500,
                "pattern": "^https://"
              },
              "context": {
                "$ref": "#/components/schemas/DisplayValue"
              }
            },
            "required": [
              "type",
              "audience",
              "url"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DisplayNode": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "row"
              },
              "props": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "column"
              },
              "props": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "grid"
              },
              "props": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "text"
              },
              "props": {
                "type": "object",
                "properties": {
                  "text": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "markdown"
              },
              "props": {
                "type": "object",
                "properties": {
                  "text": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "image"
              },
              "props": {
                "type": "object",
                "properties": {
                  "asset_id": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "alt": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "fit": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "icon"
              },
              "props": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "badge"
              },
              "props": {
                "type": "object",
                "properties": {
                  "text": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "divider"
              },
              "props": {
                "type": "object",
                "properties": {},
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "button"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "icon": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "action": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "disabled": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "select"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "options": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "value": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "action": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "disabled": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "toggle"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "value": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "action": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "disabled": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "slider"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "value": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "min": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "max": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "step": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "timeline": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "action": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "disabled": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "input"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "placeholder": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "action": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "disabled": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "progress"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "value": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "max": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "timeline": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "timeline"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "timeline": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "list"
              },
              "props": {
                "type": "object",
                "properties": {
                  "items": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "table"
              },
              "props": {
                "type": "object",
                "properties": {
                  "headers": {
                    "$ref": "#/components/schemas/DisplayValue"
                  },
                  "rows": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "details"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "tabs"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "type": {
                "const": "tab"
              },
              "props": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/DisplayValue"
                  }
                },
                "required": [],
                "additionalProperties": false
              },
              "children": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayNode"
                },
                "maxItems": 128
              },
              "style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "narrow_style": {
                "$ref": "#/components/schemas/DisplayStyle"
              },
              "style_ref": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "id",
              "type"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DisplayDocument": {
        "type": "object",
        "properties": {
          "version": {
            "const": 1
          },
          "root": {
            "$ref": "#/components/schemas/DisplayNode"
          },
          "state": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_-]{1,64}$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/DisplayData"
            }
          },
          "actions": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_-]{1,64}$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/DisplayAction"
            },
            "maxProperties": 32
          },
          "styles": {
            "type": "object",
            "propertyNames": {
              "type": "string",
              "pattern": "^[a-zA-Z0-9_-]{1,64}$"
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/DisplayStyle"
            }
          }
        },
        "required": [
          "version",
          "root",
          "state",
          "actions"
        ],
        "additionalProperties": false
      },
      "DisplaySnapshot": {
        "type": "object",
        "properties": {
          "message_id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "revision": {
            "type": "string"
          },
          "layout_revision": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "server_time": {
            "type": "number"
          },
          "active": {
            "type": "boolean"
          },
          "installer": {
            "type": "boolean"
          },
          "document": {
            "$ref": "#/components/schemas/DisplayDocument"
          }
        },
        "required": [
          "message_id",
          "application_id",
          "revision",
          "layout_revision",
          "updated_at",
          "server_time",
          "active",
          "installer",
          "document"
        ],
        "additionalProperties": false
      },
      "DisplayPatch": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "op": {
                "const": "state"
              },
              "values": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9_-]{1,64}$"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/DisplayData"
                }
              }
            },
            "required": [
              "op",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": "props"
              },
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "values": {
                "type": "object",
                "propertyNames": {
                  "type": "string",
                  "pattern": "^[a-zA-Z0-9_-]{1,64}$"
                },
                "additionalProperties": {
                  "$ref": "#/components/schemas/DisplayValue"
                }
              }
            },
            "required": [
              "op",
              "id",
              "values"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": "replace"
              },
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "node": {
                "$ref": "#/components/schemas/DisplayNode"
              }
            },
            "required": [
              "op",
              "id",
              "node"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": "remove"
              },
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              }
            },
            "required": [
              "op",
              "id"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "const": "insert"
              },
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9_-]{1,64}$"
              },
              "index": {
                "type": "integer",
                "minimum": 0
              },
              "node": {
                "$ref": "#/components/schemas/DisplayNode"
              }
            },
            "required": [
              "op",
              "id",
              "index",
              "node"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DisplayUpdate": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "document": {
                "$ref": "#/components/schemas/DisplayDocument"
              }
            },
            "required": [
              "document"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "operations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DisplayPatch"
                },
                "maxItems": 32,
                "minItems": 1
              }
            },
            "required": [
              "operations"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DisplayInteractionRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "component_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$"
          },
          "action_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$"
          },
          "layout_revision": {
            "type": "string"
          },
          "context": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          },
          "value": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "component_id",
          "action_id",
          "layout_revision"
        ],
        "additionalProperties": false
      },
      "ComponentInteraction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "application_id": {
            "type": "string"
          },
          "installation_id": {
            "type": "string"
          },
          "installer_id": {
            "type": "string"
          },
          "chat_id": {
            "type": "string"
          },
          "command_id": {
            "type": "null"
          },
          "kind": {
            "const": "component"
          },
          "actor_id": {
            "type": "string"
          },
          "message_id": {
            "type": "string"
          },
          "component_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$"
          },
          "action_id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$"
          },
          "layout_revision": {
            "type": "string"
          },
          "context": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          },
          "configuration_revision": {
            "type": "string"
          },
          "options": {
            "type": "object",
            "properties": {
              "value": {
                "type": [
                  "string",
                  "number",
                  "boolean",
                  "null"
                ]
              }
            },
            "required": [
              "value"
            ],
            "additionalProperties": false
          },
          "created_at": {
            "type": "string"
          },
          "ack_deadline": {
            "type": "string"
          },
          "expires_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "application_id",
          "installation_id",
          "installer_id",
          "chat_id",
          "command_id",
          "kind",
          "actor_id",
          "message_id",
          "component_id",
          "action_id",
          "layout_revision",
          "context",
          "configuration_revision",
          "options",
          "created_at",
          "ack_deadline",
          "expires_at"
        ],
        "additionalProperties": false
      },
      "Interaction": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/CommandInteraction"
          },
          {
            "$ref": "#/components/schemas/ComponentInteraction"
          }
        ]
      },
      "Error": {
        "type": "object",
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "request_id": {
                "type": "string"
              },
              "retry_after_ms": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "code",
              "message"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "error"
        ],
        "additionalProperties": true
      },
      "Configuration": {
        "type": "object",
        "properties": {
          "permission_catalogue": {
            "type": "integer",
            "minimum": 66,
            "maximum": 67
          },
          "name": {
            "type": "string",
            "x-weighted-max-length": 60,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "description": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
            "x-max-lines": 6
          },
          "icon_asset_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "banner_asset_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "support_url": {
            "type": "string"
          },
          "privacy_url": {
            "type": "string"
          },
          "visibility": {
            "enum": [
              "public",
              "private"
            ]
          },
          "install_policy": {
            "enum": [
              "account",
              "either",
              "chat"
            ]
          },
          "permissions": {
            "type": "object",
            "propertyNames": {
              "enum": [
                "administrator",
                "messages.read_self",
                "messages.read_others",
                "messages.history",
                "messages.search",
                "scribbles.read",
                "bot_dm",
                "calls.audio.receive",
                "calls.video.receive",
                "calls.screen.receive",
                "attachments.download",
                "polls.results",
                "presence.read",
                "typing.read",
                "groups.members.read",
                "friends.read",
                "friends.requests.read",
                "profile.read_self",
                "profile.read_others",
                "profile.write",
                "settings.write",
                "chats.mute",
                "commands",
                "notifications.send",
                "stickers.manage",
                "bot.messages.send",
                "bot.messages.ephemeral",
                "bot.messages.edit",
                "bot.messages.delete",
                "bot.scribbles.write",
                "bot.scribbles.erase",
                "bot.stickers.send",
                "bot.gifs.send",
                "bot.placements.write",
                "bot.attachments.send",
                "bot.polls.create",
                "bot.polls.close",
                "bot.pins.write",
                "bot.reactions.write",
                "bot.games.start",
                "bot.groups.create",
                "bot.calls.start",
                "bot.calls.speak",
                "bot.calls.join_with_user",
                "bot.calls.join_all",
                "bot.calls.video",
                "bot.calls.invite",
                "user.messages.send",
                "user.messages.edit",
                "user.messages.delete",
                "user.scribbles.write",
                "user.scribbles.erase",
                "user.stickers.send",
                "user.gifs.send",
                "user.placements.write",
                "user.attachments.send",
                "user.polls.create",
                "user.polls.close",
                "user.polls.vote",
                "user.pins.write",
                "user.reactions.write",
                "user.friends.request",
                "user.friends.respond",
                "user.blocks.write",
                "user.groups.write",
                "user.groups.members",
                "bot.messages.components"
              ]
            },
            "additionalProperties": {
              "enum": [
                "disabled",
                "optional",
                "required"
              ]
            }
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Command"
            },
            "maxItems": 100
          }
        },
        "required": [
          "name",
          "description",
          "icon_asset_id",
          "banner_asset_id",
          "support_url",
          "privacy_url",
          "visibility",
          "install_policy",
          "permissions",
          "commands"
        ],
        "additionalProperties": true
      },
      "Application": {
        "type": "object",
        "properties": {
          "permission_catalogue": {
            "type": "integer",
            "minimum": 66,
            "maximum": 67
          },
          "name": {
            "type": "string",
            "x-weighted-max-length": 60,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "description": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
            "x-max-lines": 6
          },
          "icon_asset_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "banner_asset_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "support_url": {
            "type": "string"
          },
          "privacy_url": {
            "type": "string"
          },
          "visibility": {
            "enum": [
              "public",
              "private"
            ]
          },
          "install_policy": {
            "enum": [
              "account",
              "either",
              "chat"
            ]
          },
          "permissions": {
            "type": "object",
            "propertyNames": {
              "enum": [
                "administrator",
                "messages.read_self",
                "messages.read_others",
                "messages.history",
                "messages.search",
                "scribbles.read",
                "bot_dm",
                "calls.audio.receive",
                "calls.video.receive",
                "calls.screen.receive",
                "attachments.download",
                "polls.results",
                "presence.read",
                "typing.read",
                "groups.members.read",
                "friends.read",
                "friends.requests.read",
                "profile.read_self",
                "profile.read_others",
                "profile.write",
                "settings.write",
                "chats.mute",
                "commands",
                "notifications.send",
                "stickers.manage",
                "bot.messages.send",
                "bot.messages.ephemeral",
                "bot.messages.edit",
                "bot.messages.delete",
                "bot.scribbles.write",
                "bot.scribbles.erase",
                "bot.stickers.send",
                "bot.gifs.send",
                "bot.placements.write",
                "bot.attachments.send",
                "bot.polls.create",
                "bot.polls.close",
                "bot.pins.write",
                "bot.reactions.write",
                "bot.games.start",
                "bot.groups.create",
                "bot.calls.start",
                "bot.calls.speak",
                "bot.calls.join_with_user",
                "bot.calls.join_all",
                "bot.calls.video",
                "bot.calls.invite",
                "user.messages.send",
                "user.messages.edit",
                "user.messages.delete",
                "user.scribbles.write",
                "user.scribbles.erase",
                "user.stickers.send",
                "user.gifs.send",
                "user.placements.write",
                "user.attachments.send",
                "user.polls.create",
                "user.polls.close",
                "user.polls.vote",
                "user.pins.write",
                "user.reactions.write",
                "user.friends.request",
                "user.friends.respond",
                "user.blocks.write",
                "user.groups.write",
                "user.groups.members",
                "bot.messages.components"
              ]
            },
            "additionalProperties": {
              "enum": [
                "disabled",
                "optional",
                "required"
              ]
            }
          },
          "commands": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Command"
            },
            "maxItems": 100
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "owner_id": {
            "type": "string"
          },
          "bot_user_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "published_revision": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "enabled": {
            "type": "boolean"
          },
          "status": {
            "enum": [
              "draft",
              "published",
              "unpublished",
              "disabled",
              "deleted"
            ]
          },
          "install_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "updated_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "owner_id",
          "bot_user_id",
          "revision",
          "published_revision",
          "enabled",
          "status",
          "install_url",
          "created_at",
          "updated_at"
        ],
        "additionalProperties": true
      },
      "Scope": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "account"
              }
            },
            "required": [
              "type"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "const": "chat"
              },
              "chat_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              }
            },
            "required": [
              "type",
              "chat_id"
            ],
            "additionalProperties": false
          }
        ]
      },
      "Installation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "application_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "user_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "configuration_revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "grant_revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "status": {
            "enum": [
              "active",
              "paused",
              "revoked"
            ]
          },
          "scope": {
            "$ref": "#/components/schemas/Scope"
          },
          "permissions": {
            "type": "array",
            "items": {
              "enum": [
                "administrator",
                "messages.read_self",
                "messages.read_others",
                "messages.history",
                "messages.search",
                "scribbles.read",
                "bot_dm",
                "calls.audio.receive",
                "calls.video.receive",
                "calls.screen.receive",
                "attachments.download",
                "polls.results",
                "presence.read",
                "typing.read",
                "groups.members.read",
                "friends.read",
                "friends.requests.read",
                "profile.read_self",
                "profile.read_others",
                "profile.write",
                "settings.write",
                "chats.mute",
                "commands",
                "notifications.send",
                "stickers.manage",
                "bot.messages.send",
                "bot.messages.ephemeral",
                "bot.messages.edit",
                "bot.messages.delete",
                "bot.scribbles.write",
                "bot.scribbles.erase",
                "bot.stickers.send",
                "bot.gifs.send",
                "bot.placements.write",
                "bot.attachments.send",
                "bot.polls.create",
                "bot.polls.close",
                "bot.pins.write",
                "bot.reactions.write",
                "bot.games.start",
                "bot.groups.create",
                "bot.calls.start",
                "bot.calls.speak",
                "bot.calls.join_with_user",
                "bot.calls.join_all",
                "bot.calls.video",
                "bot.calls.invite",
                "user.messages.send",
                "user.messages.edit",
                "user.messages.delete",
                "user.scribbles.write",
                "user.scribbles.erase",
                "user.stickers.send",
                "user.gifs.send",
                "user.placements.write",
                "user.attachments.send",
                "user.polls.create",
                "user.polls.close",
                "user.polls.vote",
                "user.pins.write",
                "user.reactions.write",
                "user.friends.request",
                "user.friends.respond",
                "user.blocks.write",
                "user.groups.write",
                "user.groups.members",
                "bot.messages.components"
              ]
            }
          },
          "optional_permissions": {
            "type": "array",
            "items": {
              "enum": [
                "administrator",
                "messages.read_self",
                "messages.read_others",
                "messages.history",
                "messages.search",
                "scribbles.read",
                "bot_dm",
                "calls.audio.receive",
                "calls.video.receive",
                "calls.screen.receive",
                "attachments.download",
                "polls.results",
                "presence.read",
                "typing.read",
                "groups.members.read",
                "friends.read",
                "friends.requests.read",
                "profile.read_self",
                "profile.read_others",
                "profile.write",
                "settings.write",
                "chats.mute",
                "commands",
                "notifications.send",
                "stickers.manage",
                "bot.messages.send",
                "bot.messages.ephemeral",
                "bot.messages.edit",
                "bot.messages.delete",
                "bot.scribbles.write",
                "bot.scribbles.erase",
                "bot.stickers.send",
                "bot.gifs.send",
                "bot.placements.write",
                "bot.attachments.send",
                "bot.polls.create",
                "bot.polls.close",
                "bot.pins.write",
                "bot.reactions.write",
                "bot.games.start",
                "bot.groups.create",
                "bot.calls.start",
                "bot.calls.speak",
                "bot.calls.join_with_user",
                "bot.calls.join_all",
                "bot.calls.video",
                "bot.calls.invite",
                "user.messages.send",
                "user.messages.edit",
                "user.messages.delete",
                "user.scribbles.write",
                "user.scribbles.erase",
                "user.stickers.send",
                "user.gifs.send",
                "user.placements.write",
                "user.attachments.send",
                "user.polls.create",
                "user.polls.close",
                "user.polls.vote",
                "user.pins.write",
                "user.reactions.write",
                "user.friends.request",
                "user.friends.respond",
                "user.blocks.write",
                "user.groups.write",
                "user.groups.members",
                "bot.messages.components"
              ]
            }
          },
          "authorized_since": {
            "type": "object",
            "propertyNames": {
              "enum": [
                "administrator",
                "messages.read_self",
                "messages.read_others",
                "messages.history",
                "messages.search",
                "scribbles.read",
                "bot_dm",
                "calls.audio.receive",
                "calls.video.receive",
                "calls.screen.receive",
                "attachments.download",
                "polls.results",
                "presence.read",
                "typing.read",
                "groups.members.read",
                "friends.read",
                "friends.requests.read",
                "profile.read_self",
                "profile.read_others",
                "profile.write",
                "settings.write",
                "chats.mute",
                "commands",
                "notifications.send",
                "stickers.manage",
                "bot.messages.send",
                "bot.messages.ephemeral",
                "bot.messages.edit",
                "bot.messages.delete",
                "bot.scribbles.write",
                "bot.scribbles.erase",
                "bot.stickers.send",
                "bot.gifs.send",
                "bot.placements.write",
                "bot.attachments.send",
                "bot.polls.create",
                "bot.polls.close",
                "bot.pins.write",
                "bot.reactions.write",
                "bot.games.start",
                "bot.groups.create",
                "bot.calls.start",
                "bot.calls.speak",
                "bot.calls.join_with_user",
                "bot.calls.join_all",
                "bot.calls.video",
                "bot.calls.invite",
                "user.messages.send",
                "user.messages.edit",
                "user.messages.delete",
                "user.scribbles.write",
                "user.scribbles.erase",
                "user.stickers.send",
                "user.gifs.send",
                "user.placements.write",
                "user.attachments.send",
                "user.polls.create",
                "user.polls.close",
                "user.polls.vote",
                "user.pins.write",
                "user.reactions.write",
                "user.friends.request",
                "user.friends.respond",
                "user.blocks.write",
                "user.groups.write",
                "user.groups.members",
                "bot.messages.components"
              ]
            },
            "additionalProperties": {
              "type": "string",
              "format": "date-time"
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "application_id",
          "user_id",
          "configuration_revision",
          "grant_revision",
          "status",
          "scope",
          "permissions",
          "optional_permissions",
          "authorized_since",
          "created_at"
        ],
        "additionalProperties": true
      },
      "Command": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "pattern": "^[a-z0-9_-]+$"
          },
          "description": {
            "type": "string",
            "x-weighted-max-length": 100,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "description": {
                  "type": "string",
                  "x-weighted-max-length": 100,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "type": {
                  "enum": [
                    "string",
                    "integer",
                    "number",
                    "boolean",
                    "user",
                    "message",
                    "attachment"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "choices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "x-weighted-max-length": 100,
                        "x-weighted-min-length": 1,
                        "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                      },
                      "value": {
                        "type": [
                          "string",
                          "number"
                        ]
                      }
                    },
                    "required": [
                      "name",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 25
                }
              },
              "required": [
                "name",
                "description",
                "type"
              ],
              "additionalProperties": false
            },
            "maxItems": 25
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "options",
          "revision"
        ],
        "additionalProperties": true
      },
      "CommandCreate": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "pattern": "^[a-z0-9_-]+$"
          },
          "description": {
            "type": "string",
            "x-weighted-max-length": 100,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "description": {
                  "type": "string",
                  "x-weighted-max-length": 100,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "type": {
                  "enum": [
                    "string",
                    "integer",
                    "number",
                    "boolean",
                    "user",
                    "message",
                    "attachment"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "choices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "x-weighted-max-length": 100,
                        "x-weighted-min-length": 1,
                        "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                      },
                      "value": {
                        "type": [
                          "string",
                          "number"
                        ]
                      }
                    },
                    "required": [
                      "name",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 25
                }
              },
              "required": [
                "name",
                "description",
                "type"
              ],
              "additionalProperties": false
            },
            "maxItems": 25
          }
        },
        "required": [
          "name",
          "description"
        ],
        "additionalProperties": false
      },
      "CommandPatch": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32,
            "pattern": "^[a-z0-9_-]+$"
          },
          "description": {
            "type": "string",
            "x-weighted-max-length": 100,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "description": {
                  "type": "string",
                  "x-weighted-max-length": 100,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "type": {
                  "enum": [
                    "string",
                    "integer",
                    "number",
                    "boolean",
                    "user",
                    "message",
                    "attachment"
                  ]
                },
                "required": {
                  "type": "boolean"
                },
                "choices": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "x-weighted-max-length": 100,
                        "x-weighted-min-length": 1,
                        "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                      },
                      "value": {
                        "type": [
                          "string",
                          "number"
                        ]
                      }
                    },
                    "required": [
                      "name",
                      "value"
                    ],
                    "additionalProperties": false
                  },
                  "maxItems": 25
                }
              },
              "required": [
                "name",
                "description",
                "type"
              ],
              "additionalProperties": false
            },
            "maxItems": 25
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "BasicIdentity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "kind": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "display_name": {
            "type": "string"
          },
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "kind",
          "display_name",
          "avatar_url"
        ],
        "additionalProperties": true
      },
      "DeveloperUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "username": {
            "type": "string"
          },
          "display_name": {
            "type": "string"
          },
          "avatar_version": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "id",
          "username",
          "display_name",
          "avatar_version"
        ],
        "additionalProperties": true
      },
      "Chat": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "kind": {
            "enum": [
              "group",
              "dm"
            ]
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "kind",
          "title"
        ],
        "additionalProperties": true
      },
      "Message": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "sequence": {
            "anyOf": [
              {
                "type": "string",
                "pattern": "^\\d+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "kind": {
            "type": "string"
          },
          "actor": {
            "type": "object",
            "properties": {
              "kind": {
                "enum": [
                  "bot",
                  "user"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": true
          },
          "installation_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "application_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "via": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "application_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "application_id",
                  "name"
                ],
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          },
          "edited_via": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "application_id": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 128,
                    "pattern": "^[\\w-]+$"
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "application_id",
                  "name"
                ],
                "additionalProperties": true
              },
              {
                "type": "null"
              }
            ]
          },
          "content": {
            "type": "string"
          },
          "has_display": {
            "type": "boolean"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "edited_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "reply_to": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "attachment_ids": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                }
              },
              {
                "type": "null"
              }
            ]
          },
          "audience": {
            "enum": [
              "chat",
              "installer",
              "interaction"
            ]
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "chat_id",
          "revision",
          "content",
          "created_at",
          "audience"
        ],
        "additionalProperties": true
      },
      "MessagePatch": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "content": {
            "type": "string",
            "x-weighted-max-length": 4000,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          }
        },
        "required": [
          "actor",
          "content"
        ],
        "additionalProperties": false
      },
      "MessageCreate": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "content": {
            "type": "string",
            "x-weighted-max-length": 4000,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "reply_to": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "display": {
            "$ref": "#/components/schemas/DisplayDocument"
          }
        },
        "required": [
          "actor",
          "content"
        ],
        "additionalProperties": false
      },
      "EphemeralCreate": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "x-weighted-max-length": 4000,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "expires_in": {
            "type": "integer",
            "minimum": 60,
            "maximum": 86400
          },
          "display": {
            "$ref": "#/components/schemas/DisplayDocument"
          }
        },
        "required": [
          "content"
        ],
        "additionalProperties": false
      },
      "MessageReceipt": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "content": {
            "type": "string"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "edited_at": {
            "type": "string",
            "format": "date-time"
          },
          "audience": {
            "enum": [
              "chat",
              "installer",
              "interaction"
            ]
          },
          "expires_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "revision"
        ],
        "additionalProperties": true
      },
      "Pin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "actor": {
            "type": "object",
            "properties": {
              "kind": {
                "enum": [
                  "bot",
                  "user"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": true
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "message_id",
          "revision"
        ],
        "additionalProperties": true
      },
      "Reaction": {
        "type": "object",
        "properties": {
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "emoji": {
            "type": "string"
          },
          "actor": {
            "type": "object",
            "properties": {
              "kind": {
                "enum": [
                  "bot",
                  "user"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": true
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "message_id"
        ],
        "additionalProperties": true
      },
      "Asset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "purpose": {
            "enum": [
              "attachment",
              "sticker",
              "avatar",
              "banner",
              "group_icon"
            ]
          },
          "owner_kind": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "content_type": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "filename": {
            "type": "string"
          },
          "width": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "height": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "enum": [
              "uploading",
              "ready",
              "failed"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "purpose",
          "owner_kind",
          "content_type",
          "size",
          "filename",
          "width",
          "height",
          "status",
          "created_at"
        ],
        "additionalProperties": true
      },
      "Upload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "part_size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "part_count": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "part_size",
          "part_count",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "UploadCreate": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "purpose": {
            "enum": [
              "attachment",
              "sticker",
              "avatar",
              "banner",
              "group_icon"
            ]
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "filename": {
            "type": "string",
            "minLength": 1,
            "maxLength": 240,
            "pattern": "^[^/\\\\\\u0000-\\u001f\\u007f]+$"
          },
          "content_type": {
            "enum": [
              "image/png",
              "image/jpeg",
              "image/webp",
              "image/gif",
              "image/avif",
              "image/bmp",
              "video/mp4",
              "video/webm",
              "video/quicktime",
              "application/octet-stream"
            ]
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 157286400
          }
        },
        "required": [
          "actor",
          "purpose",
          "filename",
          "content_type",
          "size"
        ],
        "additionalProperties": false
      },
      "UploadPart": {
        "type": "object",
        "properties": {
          "part_number": {
            "type": "integer",
            "minimum": 1,
            "maximum": 15
          },
          "etag": {
            "type": "string"
          }
        },
        "required": [
          "part_number",
          "etag"
        ],
        "additionalProperties": false
      },
      "Sticker": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "name": {
            "type": "string"
          },
          "owner_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "uploaded": {
            "type": "boolean"
          },
          "content_type": {
            "type": "string"
          },
          "size": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "thumbnail_url": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "owner_id",
          "uploaded",
          "content_type",
          "size",
          "revision",
          "thumbnail_url"
        ],
        "additionalProperties": true
      },
      "Gif": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "provider": {
            "const": "klipy"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "preview_url": {
            "type": "string"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "provider",
          "width",
          "height",
          "preview_url",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "Scribble": {
        "type": "object",
        "properties": {
          "anchor_sequence": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "canvas_width": {
            "type": "integer",
            "minimum": 200,
            "maximum": 4000
          },
          "tool": {
            "enum": [
              "pen",
              "pencil",
              "highlighter"
            ]
          },
          "color": {
            "type": "string",
            "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
          },
          "size": {
            "type": "number",
            "minimum": 1,
            "maximum": 24
          },
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                {
                  "type": "number",
                  "minimum": -8,
                  "maximum": 8
                }
              ],
              "minItems": 2,
              "maxItems": 2
            },
            "minItems": 1,
            "maxItems": 1200
          },
          "draw_order": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "actor": {
            "type": "object",
            "properties": {
              "kind": {
                "enum": [
                  "bot",
                  "user"
                ]
              },
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              }
            },
            "required": [
              "kind",
              "id"
            ],
            "additionalProperties": true
          },
          "installation_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "erasures": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                },
                "size": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 24
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "number",
                        "minimum": -8,
                        "maximum": 8
                      }
                    ],
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "minItems": 1,
                  "maxItems": 1200
                }
              },
              "required": [
                "id",
                "size",
                "points"
              ],
              "additionalProperties": true
            }
          }
        },
        "required": [
          "id",
          "chat_id",
          "actor",
          "anchor_sequence",
          "canvas_width",
          "tool",
          "color",
          "size",
          "points",
          "draw_order",
          "created_at",
          "revision"
        ],
        "additionalProperties": true
      },
      "ScribbleCreate": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "anchor_sequence": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "canvas_width": {
            "type": "integer",
            "minimum": 200,
            "maximum": 4000
          },
          "tool": {
            "enum": [
              "pen",
              "pencil",
              "highlighter"
            ]
          },
          "color": {
            "type": "string",
            "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
          },
          "size": {
            "type": "number",
            "minimum": 1,
            "maximum": 24
          },
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                {
                  "type": "number",
                  "minimum": -8,
                  "maximum": 8
                }
              ],
              "minItems": 2,
              "maxItems": 2
            },
            "minItems": 1,
            "maxItems": 1200
          },
          "draw_order": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "actor",
          "anchor_sequence",
          "tool",
          "color",
          "size",
          "points"
        ],
        "additionalProperties": false
      },
      "ScribblePatch": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "points": {
            "type": "array",
            "items": {
              "type": "array",
              "items": [
                {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                {
                  "type": "number",
                  "minimum": -8,
                  "maximum": 8
                }
              ],
              "minItems": 2,
              "maxItems": 2
            },
            "minItems": 1,
            "maxItems": 1200
          },
          "color": {
            "type": "string",
            "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
          },
          "size": {
            "type": "number",
            "minimum": 1,
            "maximum": 24
          }
        },
        "required": [
          "actor"
        ],
        "additionalProperties": false
      },
      "ScribbleErase": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "removed_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "pattern": "^[a-f0-9-]{36}$"
            },
            "minItems": 0,
            "maxItems": 100
          },
          "cuts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "stroke_id": {
                  "type": "string",
                  "pattern": "^[a-f0-9-]{36}$"
                },
                "size": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 24
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "number",
                        "minimum": -8,
                        "maximum": 8
                      }
                    ],
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "minItems": 1,
                  "maxItems": 1200
                }
              },
              "required": [
                "stroke_id",
                "size",
                "points"
              ],
              "additionalProperties": false
            },
            "minItems": 0,
            "maxItems": 100
          },
          "revisions": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "pattern": "^\\d+$"
            }
          }
        },
        "required": [
          "actor",
          "removed_ids",
          "cuts",
          "revisions"
        ],
        "additionalProperties": false
      },
      "ScribbleErased": {
        "type": "object",
        "properties": {
          "removed_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          "cuts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                },
                "stroke_id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                },
                "size": {
                  "type": "number"
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "number",
                        "minimum": -8,
                        "maximum": 8
                      }
                    ],
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "minItems": 1,
                  "maxItems": 1200
                }
              },
              "required": [
                "id",
                "stroke_id",
                "size",
                "points"
              ],
              "additionalProperties": true
            }
          },
          "revision": {
            "type": "string"
          }
        },
        "required": [
          "removed_ids",
          "cuts"
        ],
        "additionalProperties": true
      },
      "Placement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "kind": {
            "enum": [
              "sticker",
              "gif"
            ]
          },
          "actor_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "anchor_sequence": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "canvas_width": {
            "type": "number",
            "minimum": 200,
            "maximum": 4000
          },
          "x": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "y": {
            "type": "number",
            "minimum": -160,
            "maximum": 160
          },
          "width": {
            "type": "number",
            "minimum": 0.004,
            "maximum": 7.2
          },
          "height": {
            "type": "number",
            "minimum": 0.004,
            "maximum": 7.2
          },
          "rotation": {
            "type": "number"
          },
          "order": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "id",
          "chat_id",
          "message_id",
          "kind",
          "actor_id",
          "anchor_sequence",
          "canvas_width",
          "x",
          "y",
          "width",
          "height",
          "rotation",
          "order",
          "revision"
        ],
        "additionalProperties": true
      },
      "PlacementPatch": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "anchor_sequence": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "canvas_width": {
            "type": "number",
            "minimum": 200,
            "maximum": 4000
          },
          "x": {
            "type": "number",
            "minimum": 0,
            "maximum": 1
          },
          "y": {
            "type": "number",
            "minimum": -160,
            "maximum": 160
          },
          "width": {
            "type": "number",
            "minimum": 0.004,
            "maximum": 7.2
          },
          "height": {
            "type": "number",
            "minimum": 0.004,
            "maximum": 7.2
          },
          "rotation": {
            "type": "number"
          },
          "order": {
            "type": "integer",
            "minimum": 0,
            "maximum": 2147483647
          }
        },
        "required": [
          "actor"
        ],
        "additionalProperties": false
      },
      "PollCreate": {
        "type": "object",
        "properties": {
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "title": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string",
              "x-weighted-max-length": 100,
              "x-weighted-min-length": 1,
              "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
            },
            "minItems": 2,
            "maxItems": 20
          },
          "multiple": {
            "type": "boolean"
          },
          "public_votes": {
            "type": "boolean"
          },
          "duration_seconds": {
            "type": "integer",
            "minimum": 60,
            "maximum": 2592000
          }
        },
        "required": [
          "actor",
          "title",
          "options",
          "multiple",
          "public_votes",
          "duration_seconds"
        ],
        "additionalProperties": false
      },
      "Poll": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "title": {
            "type": "string"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "multiple": {
            "type": "boolean"
          },
          "public_votes": {
            "type": "boolean"
          },
          "closes_at": {
            "type": "string",
            "format": "date-time"
          },
          "closed": {
            "type": "boolean"
          },
          "options": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                },
                "count": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "voters": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128,
                        "pattern": "^[\\w-]+$"
                      },
                      "display_name": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id",
                      "display_name"
                    ],
                    "additionalProperties": true
                  }
                }
              },
              "required": [
                "id",
                "text",
                "count"
              ],
              "additionalProperties": true
            }
          },
          "voters": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "winner_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "id",
          "message_id",
          "title",
          "revision",
          "multiple",
          "public_votes",
          "closes_at",
          "closed",
          "options",
          "voters",
          "winner_ids"
        ],
        "additionalProperties": true
      },
      "PollCreated": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "title": {
            "type": "string"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "closes_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "message_id",
          "revision"
        ],
        "additionalProperties": true
      },
      "PollVote": {
        "type": "object",
        "properties": {
          "poll_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "own_option_ids": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "poll_id",
          "own_option_ids",
          "revision"
        ],
        "additionalProperties": true
      },
      "Game": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "min_players": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "max_players": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "start_options_schema": {
            "type": "object"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "min_players",
          "max_players",
          "start_options_schema"
        ],
        "additionalProperties": true
      },
      "GameStarted": {
        "type": "object",
        "properties": {
          "game_session_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "game_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "status": {
            "type": "string"
          },
          "message_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "player_count": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "game_session_id",
          "chat_id",
          "game_id",
          "status",
          "message_id",
          "player_count"
        ],
        "additionalProperties": true
      },
      "Call": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "status": {
            "type": "string"
          },
          "started_at": {
            "type": "string",
            "format": "date-time"
          },
          "participants": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                },
                "kind": {
                  "enum": [
                    "bot",
                    "user"
                  ]
                },
                "display_name": {
                  "type": "string"
                }
              },
              "required": [
                "id"
              ],
              "additionalProperties": true
            }
          }
        },
        "required": [
          "id",
          "chat_id",
          "status",
          "started_at",
          "participants"
        ],
        "additionalProperties": true
      },
      "SessionDescription": {
        "type": "object",
        "properties": {
          "type": {
            "enum": [
              "offer",
              "answer"
            ]
          },
          "sdp": {
            "type": "string",
            "minLength": 1,
            "x-max-utf8-bytes": 65536
          }
        },
        "required": [
          "type",
          "sdp"
        ],
        "additionalProperties": false
      },
      "CallSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "participant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "ice_servers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "urls": {
                  "type": [
                    "string",
                    "array"
                  ]
                },
                "username": {
                  "type": "string"
                },
                "credential": {
                  "type": "string"
                }
              },
              "required": [
                "urls"
              ],
              "additionalProperties": true
            }
          },
          "revision": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "capabilities": {
            "type": "object",
            "properties": {
              "audio_codecs": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "video_codecs": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "max_publish_tracks": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "max_subscriptions": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "max_tracks_per_request": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "audio_codecs",
              "video_codecs",
              "max_publish_tracks",
              "max_subscriptions",
              "max_tracks_per_request"
            ],
            "additionalProperties": true
          }
        },
        "required": [
          "id",
          "participant_id",
          "ice_servers",
          "revision",
          "expires_at",
          "capabilities"
        ],
        "additionalProperties": true
      },
      "Track": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "participant_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "source": {
            "enum": [
              "microphone",
              "camera",
              "screen",
              "screen_audio"
            ]
          },
          "kind": {
            "enum": [
              "audio",
              "video"
            ]
          },
          "revision": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          },
          "active": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "participant_id",
          "source",
          "kind",
          "revision",
          "active"
        ],
        "additionalProperties": true
      },
      "Negotiation": {
        "type": "object",
        "properties": {
          "description": {
            "$ref": "#/components/schemas/SessionDescription"
          },
          "tracks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "track_id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128,
                  "pattern": "^[\\w-]+$"
                },
                "mid": {
                  "type": "string"
                }
              },
              "required": [
                "track_id",
                "mid"
              ],
              "additionalProperties": false
            }
          },
          "revision": {
            "type": "integer",
            "minimum": 1,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "tracks",
          "revision"
        ],
        "additionalProperties": true
      },
      "Publish": {
        "type": "object",
        "properties": {
          "description": {
            "$ref": "#/components/schemas/SessionDescription"
          },
          "tracks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "mid": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "pattern": "^[\\w-]+$"
                },
                "source": {
                  "enum": [
                    "microphone",
                    "camera"
                  ]
                }
              },
              "required": [
                "mid",
                "source"
              ],
              "additionalProperties": false
            },
            "maxItems": 2,
            "minItems": 1
          }
        },
        "required": [
          "description",
          "tracks"
        ],
        "additionalProperties": false
      },
      "CallInvitation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "status": {
            "enum": [
              "pending",
              "approved",
              "rejected",
              "expired",
              "cancelled"
            ]
          },
          "user_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[\\w-]+$"
            }
          },
          "required_votes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "approvals": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "status",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "Profile": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string",
            "x-weighted-max-length": 20,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "about": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
            "x-max-lines": 6
          },
          "pronouns": {
            "type": "string",
            "x-weighted-max-length": 40,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "background_gradient": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "top": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  },
                  "bottom": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  }
                },
                "required": [
                  "top",
                  "bottom"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_name_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "nameplate_background_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "online_indicator_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "announcement_pack": {
            "enum": [
              "",
              "cat",
              "dog",
              "cosmic",
              "pirate",
              "arcade",
              "haunted",
              "royal"
            ]
          },
          "profile_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 428
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "type": "string",
                          "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1.2827102803738317
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1.2827102803738317
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 1500
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji",
                            "sticker"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 428
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 549
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 428
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 549
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 40
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 428,
                  "height": 549
                },
                "x-encoded-max-length": 1500000,
                "x-total-points": 180000
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 280
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "anyOf": [
                            {
                              "enum": [
                                "#ad333e",
                                "#9c491b",
                                "#79601a",
                                "#547222",
                                "#27734b",
                                "#187577",
                                "#3e5bb0",
                                "#7946a0",
                                "#a33d78",
                                "#62686c"
                              ]
                            },
                            {
                              "type": "string",
                              "pattern": "^#[a-fA-F0-9]{6}[fF]{2}$"
                            }
                          ]
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 0.22857142857142856
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 0.22857142857142856
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 400
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 280
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 64
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 280
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 64
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 8
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 280,
                  "height": 64
                },
                "x-encoded-max-length": 240000,
                "x-total-points": 24000,
                "x-stroke-colors": [
                  "#ad333e",
                  "#9c491b",
                  "#79601a",
                  "#547222",
                  "#27734b",
                  "#187577",
                  "#3e5bb0",
                  "#7946a0",
                  "#a33d78",
                  "#62686c"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "avatar_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          },
          "banner_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "kind": {
            "enum": [
              "user",
              "bot"
            ]
          },
          "username": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "banner_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "id",
          "kind",
          "username",
          "display_name",
          "about",
          "pronouns",
          "background_gradient",
          "nameplate_name_color",
          "nameplate_background_color",
          "online_indicator_color",
          "announcement_pack",
          "profile_art",
          "nameplate_art",
          "avatar_url",
          "banner_url",
          "revision"
        ],
        "additionalProperties": true
      },
      "ProfilePatch": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string",
            "x-weighted-max-length": 20,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "about": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
            "x-max-lines": 6
          },
          "pronouns": {
            "type": "string",
            "x-weighted-max-length": 40,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "background_gradient": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "top": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  },
                  "bottom": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  }
                },
                "required": [
                  "top",
                  "bottom"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_name_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "nameplate_background_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "online_indicator_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "announcement_pack": {
            "enum": [
              "",
              "cat",
              "dog",
              "cosmic",
              "pirate",
              "arcade",
              "haunted",
              "royal"
            ]
          },
          "profile_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 428
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "type": "string",
                          "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1.2827102803738317
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1.2827102803738317
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 1500
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji",
                            "sticker"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 428
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 549
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 428
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 549
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 40
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 428,
                  "height": 549
                },
                "x-encoded-max-length": 1500000,
                "x-total-points": 180000
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 280
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "anyOf": [
                            {
                              "enum": [
                                "#ad333e",
                                "#9c491b",
                                "#79601a",
                                "#547222",
                                "#27734b",
                                "#187577",
                                "#3e5bb0",
                                "#7946a0",
                                "#a33d78",
                                "#62686c"
                              ]
                            },
                            {
                              "type": "string",
                              "pattern": "^#[a-fA-F0-9]{6}[fF]{2}$"
                            }
                          ]
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 0.22857142857142856
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 0.22857142857142856
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 400
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 280
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 64
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 280
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 64
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 8
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 280,
                  "height": 64
                },
                "x-encoded-max-length": 240000,
                "x-total-points": 24000,
                "x-stroke-colors": [
                  "#ad333e",
                  "#9c491b",
                  "#79601a",
                  "#547222",
                  "#27734b",
                  "#187577",
                  "#3e5bb0",
                  "#7946a0",
                  "#a33d78",
                  "#62686c"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "avatar_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          },
          "banner_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          }
        },
        "required": [],
        "additionalProperties": false
      },
      "ProfileChanged": {
        "type": "object",
        "properties": {
          "display_name": {
            "type": "string",
            "x-weighted-max-length": 20,
            "x-weighted-min-length": 1,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "about": {
            "type": "string",
            "x-weighted-max-length": 200,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
            "x-max-lines": 6
          },
          "pronouns": {
            "type": "string",
            "x-weighted-max-length": 40,
            "x-weighted-min-length": 0,
            "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
          },
          "background_gradient": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "top": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  },
                  "bottom": {
                    "type": "string",
                    "pattern": "^#[a-fA-F0-9]{6}$"
                  }
                },
                "required": [
                  "top",
                  "bottom"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_name_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "nameplate_background_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "online_indicator_color": {
            "enum": [
              "red",
              "orange",
              "yellow",
              "lime",
              "green",
              "teal",
              "blue",
              "purple",
              "pink",
              "gray",
              null
            ]
          },
          "announcement_pack": {
            "enum": [
              "",
              "cat",
              "dog",
              "cosmic",
              "pirate",
              "arcade",
              "haunted",
              "royal"
            ]
          },
          "profile_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 428
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "type": "string",
                          "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1.2827102803738317
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1.2827102803738317
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 1500
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji",
                            "sticker"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 428
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 549
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 428
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 549
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 40
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 428,
                  "height": 549
                },
                "x-encoded-max-length": 1500000,
                "x-total-points": 180000
              },
              {
                "type": "null"
              }
            ]
          },
          "nameplate_art": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "version": {
                    "const": 2
                  },
                  "strokes": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "anchor_seq": {
                          "const": 0
                        },
                        "canvas_width": {
                          "const": 280
                        },
                        "tool": {
                          "enum": [
                            "pen",
                            "pencil",
                            "highlighter"
                          ]
                        },
                        "color": {
                          "anyOf": [
                            {
                              "enum": [
                                "#ad333e",
                                "#9c491b",
                                "#79601a",
                                "#547222",
                                "#27734b",
                                "#187577",
                                "#3e5bb0",
                                "#7946a0",
                                "#a33d78",
                                "#62686c"
                              ]
                            },
                            {
                              "type": "string",
                              "pattern": "^#[a-fA-F0-9]{6}[fF]{2}$"
                            }
                          ]
                        },
                        "size": {
                          "type": "number",
                          "minimum": 1,
                          "maximum": 24
                        },
                        "points": {
                          "type": "array",
                          "items": {
                            "type": "array",
                            "items": [
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 1
                              },
                              {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 0.22857142857142856
                              }
                            ],
                            "minItems": 2,
                            "maxItems": 2
                          },
                          "minItems": 1,
                          "maxItems": 1200
                        },
                        "draw_order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        },
                        "erasures": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 0.22857142857142856
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              }
                            },
                            "required": [
                              "id",
                              "size",
                              "points"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 100
                        }
                      },
                      "required": [
                        "id",
                        "anchor_seq",
                        "canvas_width",
                        "tool",
                        "color",
                        "size",
                        "points",
                        "draw_order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 400
                  },
                  "items": {
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-f0-9-]{36}$"
                        },
                        "kind": {
                          "enum": [
                            "emoji"
                          ]
                        },
                        "value": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 36
                        },
                        "x": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 280
                        },
                        "y": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 64
                        },
                        "width": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 280
                        },
                        "height": {
                          "type": "number",
                          "minimum": 16,
                          "maximum": 64
                        },
                        "rotation": {
                          "type": "number",
                          "minimum": -180,
                          "maximum": 180
                        },
                        "order": {
                          "type": "integer",
                          "minimum": 0,
                          "maximum": 9007199254740991
                        }
                      },
                      "required": [
                        "id",
                        "kind",
                        "value",
                        "x",
                        "y",
                        "width",
                        "height",
                        "rotation",
                        "order"
                      ],
                      "additionalProperties": false
                    },
                    "minItems": 0,
                    "maxItems": 8
                  }
                },
                "required": [
                  "version",
                  "strokes",
                  "items"
                ],
                "additionalProperties": false,
                "x-canvas": {
                  "width": 280,
                  "height": 64
                },
                "x-encoded-max-length": 240000,
                "x-total-points": 24000,
                "x-stroke-colors": [
                  "#ad333e",
                  "#9c491b",
                  "#79601a",
                  "#547222",
                  "#27734b",
                  "#187577",
                  "#3e5bb0",
                  "#7946a0",
                  "#a33d78",
                  "#62686c"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "avatar_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          },
          "banner_asset_id": {
            "type": [
              "string",
              "null"
            ],
            "pattern": "^[\\w-]{1,100}$"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "revision"
        ],
        "additionalProperties": true
      },
      "Settings": {
        "type": "object",
        "properties": {
          "target_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "values": {
            "type": "object"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "target_id",
          "values",
          "revision"
        ],
        "additionalProperties": true
      },
      "SettingsPatch": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "patch": {
                "type": "object",
                "properties": {
                  "defaultDMNotifications": {
                    "type": "string",
                    "default": "all",
                    "enum": [
                      "all",
                      "mentions",
                      "none"
                    ]
                  },
                  "defaultGroupNotifications": {
                    "type": "string",
                    "default": "all",
                    "enum": [
                      "all",
                      "mentions",
                      "none"
                    ]
                  },
                  "shareOnline": {
                    "type": "boolean",
                    "default": true
                  },
                  "shareTyping": {
                    "type": "boolean",
                    "default": true
                  },
                  "allowFriendRequests": {
                    "type": "boolean",
                    "default": true
                  },
                  "allowGroupDMs": {
                    "type": "boolean",
                    "default": true
                  },
                  "quietEnabled": {
                    "type": "boolean",
                    "default": false
                  },
                  "quietStart": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5,
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "quietEnd": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5,
                    "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                  },
                  "quietTimezone": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80,
                    "format": "iana-timezone"
                  },
                  "quietDays": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 6
                    },
                    "minItems": 0,
                    "maxItems": 7,
                    "uniqueItems": true
                  },
                  "quietAllowCalls": {
                    "type": "boolean",
                    "default": false
                  },
                  "pausedUntil": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "date-time",
                    "x-max-future-seconds": 2592000
                  },
                  "theme": {
                    "enum": [
                      "light",
                      "dark",
                      "sand",
                      "rose",
                      "ocean",
                      "plum"
                    ]
                  },
                  "emojiSkinTone": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 5
                  },
                  "doubleClickEmoji": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 32,
                    "description": "one emoji from the sometimes emoji catalogue."
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "patch"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "target_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              "patch": {
                "type": "object",
                "properties": {
                  "timezone": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 80,
                    "format": "iana-timezone"
                  },
                  "push": {
                    "type": "boolean",
                    "default": true
                  },
                  "inApp": {
                    "type": "boolean",
                    "default": true
                  },
                  "ringtone": {
                    "type": "boolean",
                    "default": true
                  },
                  "messages": {
                    "type": "boolean",
                    "default": true
                  },
                  "reactions": {
                    "type": "boolean",
                    "default": true
                  },
                  "friendRequests": {
                    "type": "boolean",
                    "default": true
                  },
                  "calls": {
                    "type": "boolean",
                    "default": true
                  },
                  "preview": {
                    "type": "string",
                    "default": "full",
                    "enum": [
                      "full",
                      "sender",
                      "hidden"
                    ]
                  },
                  "audioMode": {
                    "type": "string",
                    "default": "noise-cancelling",
                    "enum": [
                      "noise-cancelling",
                      "studio"
                    ]
                  },
                  "microphone": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 100,
                    "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                  },
                  "camera": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 100,
                    "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                  },
                  "output": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 100,
                    "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                  },
                  "joinMuted": {
                    "type": "boolean",
                    "default": false
                  },
                  "callSounds": {
                    "type": "boolean",
                    "default": true
                  },
                  "gameSounds": {
                    "type": "boolean",
                    "default": true
                  },
                  "soundVolume": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  },
                  "followSystemTheme": {
                    "type": "boolean",
                    "default": false
                  },
                  "textSize": {
                    "type": "integer",
                    "minimum": 12,
                    "maximum": 22
                  },
                  "spacing": {
                    "type": "string",
                    "default": "comfortable",
                    "enum": [
                      "comfortable",
                      "compact"
                    ]
                  },
                  "motion": {
                    "type": "string",
                    "default": "system",
                    "enum": [
                      "system",
                      "reduce",
                      "full"
                    ]
                  },
                  "autoplay": {
                    "type": "boolean",
                    "default": true
                  },
                  "loadMedia": {
                    "type": "boolean",
                    "default": true
                  },
                  "subtleDrawings": {
                    "type": "boolean",
                    "default": false
                  },
                  "enterSends": {
                    "type": "string",
                    "default": "auto",
                    "enum": [
                      "auto",
                      "send",
                      "newline"
                    ]
                  },
                  "showMyCameraPreview": {
                    "type": "boolean",
                    "default": true
                  }
                },
                "required": [],
                "additionalProperties": false
              }
            },
            "required": [
              "target_id",
              "patch"
            ],
            "additionalProperties": false
          }
        ]
      },
      "SettingsChanged": {
        "type": "object",
        "properties": {
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "target_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "values": {
            "type": "object"
          }
        },
        "required": [
          "revision"
        ],
        "additionalProperties": true
      },
      "SettingsTarget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "label": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "device_choices": {
            "type": "object"
          }
        },
        "required": [
          "id",
          "device_choices"
        ],
        "additionalProperties": true
      },
      "Mute": {
        "type": "object",
        "properties": {
          "muted": {
            "type": "boolean"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "muted",
          "revision"
        ],
        "additionalProperties": true
      },
      "Group": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "name": {
            "type": "string"
          },
          "owner_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "created_by_bot": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "members_locked": {
            "type": "boolean"
          },
          "icon_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "name",
          "owner_id",
          "revision"
        ],
        "additionalProperties": true
      },
      "GroupMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "display_name": {
            "type": "string"
          },
          "owner": {
            "type": "boolean"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": true
      },
      "Friend": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "display_name": {
            "type": "string"
          },
          "kind": {
            "enum": [
              "user",
              "bot"
            ]
          },
          "avatar_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "friendship_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          }
        },
        "required": [
          "id",
          "display_name",
          "kind",
          "avatar_url",
          "friendship_id"
        ],
        "additionalProperties": true
      },
      "FriendRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "sender": {
            "$ref": "#/components/schemas/BasicIdentity"
          },
          "recipient": {
            "$ref": "#/components/schemas/BasicIdentity"
          },
          "direction": {
            "enum": [
              "incoming",
              "outgoing"
            ]
          },
          "status": {
            "enum": [
              "pending",
              "accepted",
              "denied"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "id",
          "sender",
          "recipient",
          "direction",
          "status",
          "created_at",
          "revision"
        ],
        "additionalProperties": true
      },
      "FriendResponse": {
        "type": "object",
        "properties": {
          "request_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "status": {
            "enum": [
              "accepted",
              "denied"
            ]
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          }
        },
        "required": [
          "request_id",
          "status"
        ],
        "additionalProperties": true
      },
      "Presence": {
        "type": "object",
        "properties": {
          "user_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "online": {
            "type": "boolean"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "user_id",
          "online",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "Notification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "status": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": true
      },
      "CommandInteraction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "application_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "installation_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "installer_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "chat_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "command_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "configuration_revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "options": {
            "type": "object",
            "additionalProperties": {
              "type": [
                "string",
                "number",
                "boolean"
              ]
            }
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "ack_deadline": {
            "type": "string",
            "format": "date-time"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "application_id",
          "installation_id",
          "installer_id",
          "chat_id",
          "command_id",
          "configuration_revision",
          "options",
          "created_at",
          "ack_deadline",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "GatewayTicket": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "ticket": {
            "type": "string",
            "pattern": "^stgate_[a-f0-9]{64}$"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "url",
          "ticket",
          "expires_at"
        ],
        "additionalProperties": true
      },
      "Limits": {
        "type": "object",
        "properties": {
          "api_version": {
            "const": 1
          },
          "catalogue_version": {
            "const": 1
          },
          "limits": {
            "const": {
              "displays": {
                "bytes": 32768,
                "nodes": 128,
                "depth": 8,
                "actions": 32,
                "patches": 32,
                "updates_per_second": 5
              },
              "rest_application": {
                "capacity": 100,
                "refill": 50,
                "period_ms": 1000
              },
              "rest_installation": {
                "capacity": 20,
                "refill": 10,
                "period_ms": 1000
              },
              "messages": {
                "capacity": 5,
                "period_ms": 5000,
                "scope": "application,user,chat"
              },
              "notifications": {
                "hour": 5,
                "day": 20,
                "scope": "application,user"
              },
              "social_invitations": {
                "capacity": 10,
                "period_ms": 3600000,
                "scope": "application,user"
              },
              "call_starts_and_invitations": {
                "count": 5,
                "window_ms": 600000,
                "scope": "application,user,chat"
              },
              "drawing_previews": {
                "capacity": 10,
                "period_ms": 1000,
                "scope": "installation,chat"
              },
              "json_bytes": 262144,
              "profile_json_bytes": 1756384,
              "sdp_bytes": 65536,
              "page_size": {
                "default": 50,
                "maximum": 100
              },
              "gateway": {
                "frame_bytes": 65536,
                "frames_per_minute": 120,
                "unacknowledged_events": 256,
                "application_events": 100000,
                "installation_events": 10000,
                "retention_ms": 86400000,
                "ticket_ms": 60000,
                "identify_ms": 5000,
                "heartbeat_ms": 30000,
                "heartbeat_ack_ms": 10000,
                "connections_per_application": 1
              },
              "uploads": {
                "concurrent": 3,
                "daily_bytes": 524288000,
                "part_bytes": 10485760,
                "lifetime_ms": 900000
              },
              "stickers": {
                "user_count": 25,
                "application_count": 100,
                "application_bytes": 209715200
              },
              "calls": {
                "installation_sessions": 1,
                "application_sessions": 20,
                "subscriptions": 80,
                "subscriptions_per_request": 64,
                "publish_sources": 2,
                "heartbeat_ms": 20000,
                "lease_ms": 75000,
                "answer_ms": 15000
              },
              "applications_per_developer": 10,
              "private_invites": 1000,
              "installations": {
                "user": 100,
                "application": 10000
              },
              "commands": {
                "count": 100,
                "options": 25,
                "choices": 25,
                "ack_ms": 3000,
                "interaction_ms": 900000,
                "responses": 5
              },
              "idempotency_ms": 86400000,
              "activity_ms": 7776000000,
              "ephemeral": {
                "default_seconds": 3600,
                "minimum_seconds": 60,
                "maximum_seconds": 86400
              }
            }
          },
          "fields": {
            "const": {
              "application": {
                "name": {
                  "type": "string",
                  "x-weighted-max-length": 60,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "description": {
                  "type": "string",
                  "x-weighted-max-length": 200,
                  "x-weighted-min-length": 0,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
                  "x-max-lines": 6
                },
                "visibility": {
                  "enum": [
                    "public",
                    "private"
                  ]
                },
                "install_policy": {
                  "enum": [
                    "account",
                    "either",
                    "chat"
                  ]
                },
                "privacy_url": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 500,
                  "format": "https-url"
                },
                "support_url": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 500,
                  "format": "https-url"
                },
                "icon_asset_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[\\w-]{1,100}$"
                },
                "banner_asset_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[\\w-]{1,100}$"
                },
                "permission_mode": {
                  "enum": [
                    "disabled",
                    "optional",
                    "required"
                  ]
                }
              },
              "profile": {
                "display_name": {
                  "type": "string",
                  "x-weighted-max-length": 20,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "about": {
                  "type": "string",
                  "x-weighted-max-length": 200,
                  "x-weighted-min-length": 0,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent.",
                  "x-max-lines": 6
                },
                "pronouns": {
                  "type": "string",
                  "x-weighted-max-length": 40,
                  "x-weighted-min-length": 0,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "background_gradient": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "top": {
                          "type": "string",
                          "pattern": "^#[a-fA-F0-9]{6}$"
                        },
                        "bottom": {
                          "type": "string",
                          "pattern": "^#[a-fA-F0-9]{6}$"
                        }
                      },
                      "required": [
                        "top",
                        "bottom"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "nameplate_name_color": {
                  "enum": [
                    "red",
                    "orange",
                    "yellow",
                    "lime",
                    "green",
                    "teal",
                    "blue",
                    "purple",
                    "pink",
                    "gray",
                    null
                  ]
                },
                "nameplate_background_color": {
                  "enum": [
                    "red",
                    "orange",
                    "yellow",
                    "lime",
                    "green",
                    "teal",
                    "blue",
                    "purple",
                    "pink",
                    "gray",
                    null
                  ]
                },
                "online_indicator_color": {
                  "enum": [
                    "red",
                    "orange",
                    "yellow",
                    "lime",
                    "green",
                    "teal",
                    "blue",
                    "purple",
                    "pink",
                    "gray",
                    null
                  ]
                },
                "announcement_pack": {
                  "enum": [
                    "",
                    "cat",
                    "dog",
                    "cosmic",
                    "pirate",
                    "arcade",
                    "haunted",
                    "royal"
                  ]
                },
                "profile_art": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "version": {
                          "const": 2
                        },
                        "strokes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "anchor_seq": {
                                "const": 0
                              },
                              "canvas_width": {
                                "const": 428
                              },
                              "tool": {
                                "enum": [
                                  "pen",
                                  "pencil",
                                  "highlighter"
                                ]
                              },
                              "color": {
                                "type": "string",
                                "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1.2827102803738317
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              },
                              "draw_order": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              "erasures": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-f0-9-]{36}$"
                                    },
                                    "size": {
                                      "type": "number",
                                      "minimum": 1,
                                      "maximum": 24
                                    },
                                    "points": {
                                      "type": "array",
                                      "items": {
                                        "type": "array",
                                        "items": [
                                          {
                                            "type": "number",
                                            "minimum": 0,
                                            "maximum": 1
                                          },
                                          {
                                            "type": "number",
                                            "minimum": 0,
                                            "maximum": 1.2827102803738317
                                          }
                                        ],
                                        "minItems": 2,
                                        "maxItems": 2
                                      },
                                      "minItems": 1,
                                      "maxItems": 1200
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "size",
                                    "points"
                                  ],
                                  "additionalProperties": false
                                },
                                "minItems": 0,
                                "maxItems": 100
                              }
                            },
                            "required": [
                              "id",
                              "anchor_seq",
                              "canvas_width",
                              "tool",
                              "color",
                              "size",
                              "points",
                              "draw_order"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 1500
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "kind": {
                                "enum": [
                                  "emoji",
                                  "sticker"
                                ]
                              },
                              "value": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 36
                              },
                              "x": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 428
                              },
                              "y": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 549
                              },
                              "width": {
                                "type": "number",
                                "minimum": 16,
                                "maximum": 428
                              },
                              "height": {
                                "type": "number",
                                "minimum": 16,
                                "maximum": 549
                              },
                              "rotation": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                              },
                              "order": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "value",
                              "x",
                              "y",
                              "width",
                              "height",
                              "rotation",
                              "order"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 40
                        }
                      },
                      "required": [
                        "version",
                        "strokes",
                        "items"
                      ],
                      "additionalProperties": false,
                      "x-canvas": {
                        "width": 428,
                        "height": 549
                      },
                      "x-encoded-max-length": 1500000,
                      "x-total-points": 180000
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "nameplate_art": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "version": {
                          "const": 2
                        },
                        "strokes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "anchor_seq": {
                                "const": 0
                              },
                              "canvas_width": {
                                "const": 280
                              },
                              "tool": {
                                "enum": [
                                  "pen",
                                  "pencil",
                                  "highlighter"
                                ]
                              },
                              "color": {
                                "anyOf": [
                                  {
                                    "enum": [
                                      "#ad333e",
                                      "#9c491b",
                                      "#79601a",
                                      "#547222",
                                      "#27734b",
                                      "#187577",
                                      "#3e5bb0",
                                      "#7946a0",
                                      "#a33d78",
                                      "#62686c"
                                    ]
                                  },
                                  {
                                    "type": "string",
                                    "pattern": "^#[a-fA-F0-9]{6}[fF]{2}$"
                                  }
                                ]
                              },
                              "size": {
                                "type": "number",
                                "minimum": 1,
                                "maximum": 24
                              },
                              "points": {
                                "type": "array",
                                "items": {
                                  "type": "array",
                                  "items": [
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 1
                                    },
                                    {
                                      "type": "number",
                                      "minimum": 0,
                                      "maximum": 0.22857142857142856
                                    }
                                  ],
                                  "minItems": 2,
                                  "maxItems": 2
                                },
                                "minItems": 1,
                                "maxItems": 1200
                              },
                              "draw_order": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              },
                              "erasures": {
                                "type": "array",
                                "items": {
                                  "type": "object",
                                  "properties": {
                                    "id": {
                                      "type": "string",
                                      "pattern": "^[a-f0-9-]{36}$"
                                    },
                                    "size": {
                                      "type": "number",
                                      "minimum": 1,
                                      "maximum": 24
                                    },
                                    "points": {
                                      "type": "array",
                                      "items": {
                                        "type": "array",
                                        "items": [
                                          {
                                            "type": "number",
                                            "minimum": 0,
                                            "maximum": 1
                                          },
                                          {
                                            "type": "number",
                                            "minimum": 0,
                                            "maximum": 0.22857142857142856
                                          }
                                        ],
                                        "minItems": 2,
                                        "maxItems": 2
                                      },
                                      "minItems": 1,
                                      "maxItems": 1200
                                    }
                                  },
                                  "required": [
                                    "id",
                                    "size",
                                    "points"
                                  ],
                                  "additionalProperties": false
                                },
                                "minItems": 0,
                                "maxItems": 100
                              }
                            },
                            "required": [
                              "id",
                              "anchor_seq",
                              "canvas_width",
                              "tool",
                              "color",
                              "size",
                              "points",
                              "draw_order"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 400
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "id": {
                                "type": "string",
                                "pattern": "^[a-f0-9-]{36}$"
                              },
                              "kind": {
                                "enum": [
                                  "emoji"
                                ]
                              },
                              "value": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 36
                              },
                              "x": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 280
                              },
                              "y": {
                                "type": "number",
                                "minimum": 0,
                                "maximum": 64
                              },
                              "width": {
                                "type": "number",
                                "minimum": 16,
                                "maximum": 280
                              },
                              "height": {
                                "type": "number",
                                "minimum": 16,
                                "maximum": 64
                              },
                              "rotation": {
                                "type": "number",
                                "minimum": -180,
                                "maximum": 180
                              },
                              "order": {
                                "type": "integer",
                                "minimum": 0,
                                "maximum": 9007199254740991
                              }
                            },
                            "required": [
                              "id",
                              "kind",
                              "value",
                              "x",
                              "y",
                              "width",
                              "height",
                              "rotation",
                              "order"
                            ],
                            "additionalProperties": false
                          },
                          "minItems": 0,
                          "maxItems": 8
                        }
                      },
                      "required": [
                        "version",
                        "strokes",
                        "items"
                      ],
                      "additionalProperties": false,
                      "x-canvas": {
                        "width": 280,
                        "height": 64
                      },
                      "x-encoded-max-length": 240000,
                      "x-total-points": 24000,
                      "x-stroke-colors": [
                        "#ad333e",
                        "#9c491b",
                        "#79601a",
                        "#547222",
                        "#27734b",
                        "#187577",
                        "#3e5bb0",
                        "#7946a0",
                        "#a33d78",
                        "#62686c"
                      ]
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "avatar_asset_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[\\w-]{1,100}$"
                },
                "banner_asset_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[\\w-]{1,100}$"
                }
              },
              "account_settings": {
                "defaultDMNotifications": {
                  "type": "string",
                  "default": "all",
                  "enum": [
                    "all",
                    "mentions",
                    "none"
                  ]
                },
                "defaultGroupNotifications": {
                  "type": "string",
                  "default": "all",
                  "enum": [
                    "all",
                    "mentions",
                    "none"
                  ]
                },
                "shareOnline": {
                  "type": "boolean",
                  "default": true
                },
                "shareTyping": {
                  "type": "boolean",
                  "default": true
                },
                "allowFriendRequests": {
                  "type": "boolean",
                  "default": true
                },
                "allowGroupDMs": {
                  "type": "boolean",
                  "default": true
                },
                "quietEnabled": {
                  "type": "boolean",
                  "default": false
                },
                "quietStart": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 5,
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                },
                "quietEnd": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 5,
                  "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
                },
                "quietTimezone": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80,
                  "format": "iana-timezone"
                },
                "quietDays": {
                  "type": "array",
                  "items": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 6
                  },
                  "minItems": 0,
                  "maxItems": 7,
                  "uniqueItems": true
                },
                "quietAllowCalls": {
                  "type": "boolean",
                  "default": false
                },
                "pausedUntil": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "x-max-future-seconds": 2592000
                },
                "theme": {
                  "enum": [
                    "light",
                    "dark",
                    "sand",
                    "rose",
                    "ocean",
                    "plum"
                  ]
                },
                "emojiSkinTone": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 5
                },
                "doubleClickEmoji": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32,
                  "description": "one emoji from the sometimes emoji catalogue."
                }
              },
              "instance_settings": {
                "timezone": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 80,
                  "format": "iana-timezone"
                },
                "push": {
                  "type": "boolean",
                  "default": true
                },
                "inApp": {
                  "type": "boolean",
                  "default": true
                },
                "ringtone": {
                  "type": "boolean",
                  "default": true
                },
                "messages": {
                  "type": "boolean",
                  "default": true
                },
                "reactions": {
                  "type": "boolean",
                  "default": true
                },
                "friendRequests": {
                  "type": "boolean",
                  "default": true
                },
                "calls": {
                  "type": "boolean",
                  "default": true
                },
                "preview": {
                  "type": "string",
                  "default": "full",
                  "enum": [
                    "full",
                    "sender",
                    "hidden"
                  ]
                },
                "audioMode": {
                  "type": "string",
                  "default": "noise-cancelling",
                  "enum": [
                    "noise-cancelling",
                    "studio"
                  ]
                },
                "microphone": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100,
                  "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                },
                "camera": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100,
                  "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                },
                "output": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 100,
                  "description": "an opaque device_choices ID returned by /me/settings/targets, or an empty string for system default."
                },
                "joinMuted": {
                  "type": "boolean",
                  "default": false
                },
                "callSounds": {
                  "type": "boolean",
                  "default": true
                },
                "gameSounds": {
                  "type": "boolean",
                  "default": true
                },
                "soundVolume": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 100
                },
                "followSystemTheme": {
                  "type": "boolean",
                  "default": false
                },
                "textSize": {
                  "type": "integer",
                  "minimum": 12,
                  "maximum": 22
                },
                "spacing": {
                  "type": "string",
                  "default": "comfortable",
                  "enum": [
                    "comfortable",
                    "compact"
                  ]
                },
                "motion": {
                  "type": "string",
                  "default": "system",
                  "enum": [
                    "system",
                    "reduce",
                    "full"
                  ]
                },
                "autoplay": {
                  "type": "boolean",
                  "default": true
                },
                "loadMedia": {
                  "type": "boolean",
                  "default": true
                },
                "subtleDrawings": {
                  "type": "boolean",
                  "default": false
                },
                "enterSends": {
                  "type": "string",
                  "default": "auto",
                  "enum": [
                    "auto",
                    "send",
                    "newline"
                  ]
                },
                "showMyCameraPreview": {
                  "type": "boolean",
                  "default": true
                }
              },
              "message": {
                "content": {
                  "type": "string",
                  "x-weighted-max-length": 4000,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "actor": {
                  "enum": [
                    "bot",
                    "user"
                  ]
                },
                "reply_to": {
                  "type": "string",
                  "pattern": "^[\\w-]{1,100}$"
                },
                "expires_in": {
                  "type": "integer",
                  "minimum": 60,
                  "maximum": 86400
                }
              },
              "scribble": {
                "anchor_sequence": {
                  "type": "string",
                  "pattern": "^\\d+$"
                },
                "canvas_width": {
                  "type": "integer",
                  "minimum": 200,
                  "maximum": 4000
                },
                "tool": {
                  "enum": [
                    "pen",
                    "pencil",
                    "highlighter"
                  ]
                },
                "color": {
                  "type": "string",
                  "pattern": "^#[a-fA-F0-9]{6}([fF]{2})?$"
                },
                "size": {
                  "type": "number",
                  "minimum": 1,
                  "maximum": 24
                },
                "points": {
                  "type": "array",
                  "items": {
                    "type": "array",
                    "items": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 1
                      },
                      {
                        "type": "number",
                        "minimum": -8,
                        "maximum": 8
                      }
                    ],
                    "minItems": 2,
                    "maxItems": 2
                  },
                  "minItems": 1,
                  "maxItems": 1200
                },
                "draw_order": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "erasure": {
                "removed_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[a-f0-9-]{36}$"
                  },
                  "minItems": 0,
                  "maxItems": 100
                },
                "cuts": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "stroke_id": {
                        "type": "string",
                        "pattern": "^[a-f0-9-]{36}$"
                      },
                      "size": {
                        "type": "number",
                        "minimum": 1,
                        "maximum": 24
                      },
                      "points": {
                        "type": "array",
                        "items": {
                          "type": "array",
                          "items": [
                            {
                              "type": "number",
                              "minimum": 0,
                              "maximum": 1
                            },
                            {
                              "type": "number",
                              "minimum": -8,
                              "maximum": 8
                            }
                          ],
                          "minItems": 2,
                          "maxItems": 2
                        },
                        "minItems": 1,
                        "maxItems": 1200
                      }
                    },
                    "required": [
                      "stroke_id",
                      "size",
                      "points"
                    ],
                    "additionalProperties": false
                  },
                  "minItems": 0,
                  "maxItems": 100
                },
                "revisions": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "string",
                    "pattern": "^\\d+$"
                  }
                },
                "x-total-operations": 100
              },
              "placement": {
                "anchor_sequence": {
                  "type": "string",
                  "pattern": "^\\d+$"
                },
                "canvas_width": {
                  "type": "number",
                  "minimum": 200,
                  "maximum": 4000
                },
                "x": {
                  "type": "number",
                  "minimum": 0,
                  "maximum": 1
                },
                "y": {
                  "type": "number",
                  "minimum": -160,
                  "maximum": 160
                },
                "width": {
                  "type": "number",
                  "minimum": 0.004,
                  "maximum": 7.2
                },
                "height": {
                  "type": "number",
                  "minimum": 0.004,
                  "maximum": 7.2
                },
                "rotation": {
                  "type": "number"
                },
                "order": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 2147483647
                },
                "x-pixel-bounds": {
                  "width": [
                    16,
                    1440
                  ],
                  "height": [
                    16,
                    1440
                  ],
                  "y": [
                    -32000,
                    32000
                  ]
                }
              },
              "poll": {
                "title": {
                  "type": "string",
                  "x-weighted-max-length": 200,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "options": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "x-weighted-max-length": 100,
                    "x-weighted-min-length": 1,
                    "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                  },
                  "minItems": 2,
                  "maxItems": 20
                },
                "multiple": {
                  "type": "boolean"
                },
                "public_votes": {
                  "type": "boolean"
                },
                "duration_seconds": {
                  "type": "integer",
                  "minimum": 60,
                  "maximum": 2592000
                }
              },
              "group": {
                "name": {
                  "type": "string",
                  "x-weighted-max-length": 48,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "member_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[\\w-]{1,100}$"
                  },
                  "minItems": 1,
                  "maxItems": 19,
                  "uniqueItems": true
                },
                "icon_asset_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^[\\w-]{1,100}$"
                },
                "capacity": 20
              },
              "notification": {
                "title": {
                  "type": "string",
                  "x-weighted-max-length": 80,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "body": {
                  "type": "string",
                  "x-weighted-max-length": 240,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "chat_id": {
                  "type": "string",
                  "pattern": "^[\\w-]{1,100}$"
                },
                "message_id": {
                  "type": "string",
                  "pattern": "^[\\w-]{1,100}$"
                }
              },
              "upload": {
                "actor": {
                  "enum": [
                    "bot",
                    "user"
                  ]
                },
                "purpose": {
                  "enum": [
                    "attachment",
                    "sticker",
                    "avatar",
                    "banner",
                    "group_icon"
                  ]
                },
                "chat_id": {
                  "type": "string",
                  "pattern": "^[\\w-]{1,100}$"
                },
                "filename": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 240,
                  "pattern": "^[^/\\\\\\u0000-\\u001f\\u007f]+$"
                },
                "size": {
                  "type": "integer",
                  "minimum": 1,
                  "maximum": 157286400
                },
                "content_type": {
                  "enum": [
                    "image/png",
                    "image/jpeg",
                    "image/webp",
                    "image/gif",
                    "image/avif",
                    "image/bmp",
                    "video/mp4",
                    "video/webm",
                    "video/quicktime",
                    "application/octet-stream"
                  ]
                },
                "x-purpose-bytes": {
                  "attachment": 157286400,
                  "sticker": 20971520,
                  "avatar": 5242880,
                  "banner": 20971520,
                  "group_icon": 5242880
                },
                "x-image-types": [
                  "image/png",
                  "image/jpeg",
                  "image/webp"
                ],
                "x-sticker-extra-types": [
                  "image/gif"
                ],
                "x-image-pixels": 40000000
              },
              "sticker": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 40
                },
                "asset_id": {
                  "type": "string",
                  "pattern": "^[\\w-]{1,100}$"
                }
              },
              "command": {
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 32,
                  "pattern": "^[a-z0-9_-]+$"
                },
                "description": {
                  "type": "string",
                  "x-weighted-max-length": 100,
                  "x-weighted-min-length": 1,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "option_type": {
                  "enum": [
                    "string",
                    "integer",
                    "number",
                    "boolean",
                    "user",
                    "message",
                    "attachment"
                  ]
                },
                "string_value": {
                  "type": "string",
                  "x-weighted-max-length": 4000,
                  "x-weighted-min-length": 0,
                  "description": "length uses sometimes weighted textLength; UTF-16 maxLength is not equivalent."
                },
                "integer_value": {
                  "type": "integer",
                  "minimum": -9007199254740991,
                  "maximum": 9007199254740991
                }
              },
              "call": {
                "video": {
                  "type": "boolean"
                },
                "user_ids": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "pattern": "^[\\w-]{1,100}$"
                  },
                  "minItems": 1,
                  "maxItems": 10,
                  "uniqueItems": true
                },
                "source": {
                  "enum": [
                    "microphone",
                    "camera",
                    "screen",
                    "screen_audio"
                  ]
                },
                "publish_source": {
                  "enum": [
                    "microphone",
                    "camera"
                  ]
                },
                "mid": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 64,
                  "pattern": "^[\\w-]+$"
                }
              }
            }
          },
          "quotas": {
            "type": "object"
          }
        },
        "required": [
          "api_version",
          "catalogue_version",
          "limits",
          "fields",
          "quotas"
        ],
        "additionalProperties": true
      },
      "ConsentPrompt": {
        "type": "object",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/Application"
          },
          "configuration": {
            "$ref": "#/components/schemas/Configuration"
          },
          "prompt_token": {
            "type": "string"
          },
          "revision": {
            "type": "string",
            "pattern": "^\\d+$"
          },
          "expires_at": {
            "type": "string",
            "format": "date-time"
          },
          "eligible_chats": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Chat"
            }
          },
          "chats_cursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "application",
          "configuration",
          "prompt_token",
          "revision",
          "expires_at",
          "eligible_chats"
        ],
        "additionalProperties": true
      },
      "Token": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "prefix": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          },
          "last_used_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          },
          "revoked_at": {
            "anyOf": [
              {
                "type": "string",
                "format": "date-time"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "id",
          "prefix",
          "label",
          "created_at"
        ],
        "additionalProperties": true
      },
      "Activity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "application_id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[\\w-]+$"
          },
          "action": {
            "type": "string"
          },
          "actor": {
            "enum": [
              "bot",
              "user"
            ]
          },
          "resource_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 128,
                "pattern": "^[\\w-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "result": {
            "type": "string"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "action",
          "actor",
          "created_at"
        ],
        "additionalProperties": true
      }
    }
  }
}
