Discord Webhooks API

The Webhooks API from Discord — 8 operation(s) for webhooks.

OpenAPI Specification

discord-webhooks-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Discord Interactions Application Commands Webhooks API
  description: The Discord Interactions API enables applications to create and respond to application commands (slash commands), message components, and modals. It supports both Gateway-based and webhook-based interaction handling, allowing bots to build rich, interactive user experiences within Discord.
  version: '10'
  contact:
    name: Discord Support
    url: https://support-dev.discord.com/hc/en-us
    email: support@discord.com
  termsOfService: https://discord.com/developers/docs/policies-and-agreements/developer-terms-of-service
servers:
- url: https://discord.com/api/v10
  description: Discord API v10
security:
- BotToken: []
tags:
- name: Webhooks
paths:
  /webhooks/{webhook_id}/{webhook_token}/messages/@original:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    - name: webhook_token
      in: path
      schema:
        type: string
        maxLength: 152133
      required: true
    get:
      operationId: get_original_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      responses:
        '200':
          description: 200 response for get_original_webhook_message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    delete:
      operationId: delete_original_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      responses:
        '204':
          description: 204 response for delete_original_webhook_message
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    patch:
      operationId: update_original_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
          multipart/form-data:
            schema:
              allOf:
              - $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
              - type: object
                properties:
                  files[0]:
                    type: string
                    contentEncoding: binary
                  files[1]:
                    type: string
                    contentEncoding: binary
                  files[2]:
                    type: string
                    contentEncoding: binary
                  files[3]:
                    type: string
                    contentEncoding: binary
                  files[4]:
                    type: string
                    contentEncoding: binary
                  files[5]:
                    type: string
                    contentEncoding: binary
                  files[6]:
                    type: string
                    contentEncoding: binary
                  files[7]:
                    type: string
                    contentEncoding: binary
                  files[8]:
                    type: string
                    contentEncoding: binary
                  files[9]:
                    type: string
                    contentEncoding: binary
        required: true
      responses:
        '200':
          description: 200 response for update_original_webhook_message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
  /webhooks/{webhook_id}/{webhook_token}/messages/{message_id}:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    - name: webhook_token
      in: path
      schema:
        type: string
        maxLength: 152133
      required: true
    - name: message_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    get:
      operationId: get_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      responses:
        '200':
          description: 200 response for get_webhook_message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    delete:
      operationId: delete_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      responses:
        '204':
          description: 204 response for delete_webhook_message
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    patch:
      operationId: update_webhook_message
      parameters:
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
          multipart/form-data:
            schema:
              allOf:
              - $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
              - type: object
                properties:
                  files[0]:
                    type: string
                    contentEncoding: binary
                  files[1]:
                    type: string
                    contentEncoding: binary
                  files[2]:
                    type: string
                    contentEncoding: binary
                  files[3]:
                    type: string
                    contentEncoding: binary
                  files[4]:
                    type: string
                    contentEncoding: binary
                  files[5]:
                    type: string
                    contentEncoding: binary
                  files[6]:
                    type: string
                    contentEncoding: binary
                  files[7]:
                    type: string
                    contentEncoding: binary
                  files[8]:
                    type: string
                    contentEncoding: binary
                  files[9]:
                    type: string
                    contentEncoding: binary
        required: true
      responses:
        '200':
          description: 200 response for update_webhook_message
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
  /webhooks/{webhook_id}/{webhook_token}/github:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    - name: webhook_token
      in: path
      schema:
        type: string
        maxLength: 152133
      required: true
    post:
      operationId: execute_github_compatible_webhook
      parameters:
      - name: wait
        in: query
        schema:
          type: boolean
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GithubWebhook'
        required: true
      responses:
        '204':
          description: 204 response for execute_github_compatible_webhook
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
  /webhooks/{webhook_id}/{webhook_token}/slack:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    - name: webhook_token
      in: path
      schema:
        type: string
        maxLength: 152133
      required: true
    post:
      operationId: execute_slack_compatible_webhook
      parameters:
      - name: wait
        in: query
        schema:
          type: boolean
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SlackWebhook'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SlackWebhook'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SlackWebhook'
        required: true
      responses:
        '200':
          description: 200 response for execute_slack_compatible_webhook
          content:
            application/json:
              schema:
                type:
                - string
                - 'null'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
  /webhooks/{webhook_id}/{webhook_token}:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    - name: webhook_token
      in: path
      schema:
        type: string
        maxLength: 152133
      required: true
    get:
      operationId: get_webhook_by_token
      responses:
        '200':
          description: 200 response for get_webhook_by_token
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApplicationIncomingWebhookResponse'
                - $ref: '#/components/schemas/ChannelFollowerWebhookResponse'
                - $ref: '#/components/schemas/GuildIncomingWebhookResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    post:
      operationId: execute_webhook
      parameters:
      - name: wait
        in: query
        schema:
          type: boolean
      - name: thread_id
        in: query
        schema:
          $ref: '#/components/schemas/SnowflakeType'
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
              - $ref: '#/components/schemas/IncomingWebhookRequestPartial'
              - $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
              x-discord-union: oneOf
          application/x-www-form-urlencoded:
            schema:
              anyOf:
              - $ref: '#/components/schemas/IncomingWebhookRequestPartial'
              - $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
              x-discord-union: oneOf
          multipart/form-data:
            schema:
              anyOf:
              - $ref: '#/components/schemas/IncomingWebhookRequestPartial'
              - $ref: '#/components/schemas/IncomingWebhookUpdateRequestPartial'
              x-discord-union: oneOf
        required: true
      responses:
        '200':
          description: 200 response for execute_webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '204':
          description: 204 response for execute_webhook
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    delete:
      operationId: delete_webhook_by_token
      responses:
        '204':
          description: 204 response for delete_webhook_by_token
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
    patch:
      operationId: update_webhook_by_token
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 80
                avatar:
                  type:
                  - string
                  - 'null'
                  contentEncoding: base64
        required: true
      responses:
        '200':
          description: 200 response for update_webhook_by_token
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApplicationIncomingWebhookResponse'
                - $ref: '#/components/schemas/ChannelFollowerWebhookResponse'
                - $ref: '#/components/schemas/GuildIncomingWebhookResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - {}
      - BotToken: []
      tags:
      - Webhooks
  /webhooks/{webhook_id}:
    parameters:
    - name: webhook_id
      in: path
      schema:
        $ref: '#/components/schemas/SnowflakeType'
      required: true
    get:
      operationId: get_webhook
      responses:
        '200':
          description: 200 response for get_webhook
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApplicationIncomingWebhookResponse'
                - $ref: '#/components/schemas/ChannelFollowerWebhookResponse'
                - $ref: '#/components/schemas/GuildIncomingWebhookResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - BotToken: []
      tags:
      - Webhooks
    delete:
      operationId: delete_webhook
      responses:
        '204':
          description: 204 response for delete_webhook
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - BotToken: []
      tags:
      - Webhooks
    patch:
      operationId: update_webhook
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 80
                avatar:
                  type:
                  - string
                  - 'null'
                  contentEncoding: base64
                channel_id:
                  oneOf:
                  - type: 'null'
                  - $ref: '#/components/schemas/SnowflakeType'
        required: true
      responses:
        '200':
          description: 200 response for update_webhook
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/ApplicationIncomingWebhookResponse'
                - $ref: '#/components/schemas/ChannelFollowerWebhookResponse'
                - $ref: '#/components/schemas/GuildIncomingWebhookResponse'
        4XX:
          $ref: '#/components/responses/ClientErrorResponse'
      security:
      - BotToken: []
      tags:
      - Webhooks
  /channels/{channel_id}/webhooks:
    get:
      operationId: getChannelWebhooks
      summary: Discord List channel webhooks
      description: Returns a list of channel webhook objects.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/channelId'
      responses:
        '200':
          description: List of webhook objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
        4XX:
          $ref: '#/components/responses/ClientError'
    post:
      operationId: createWebhook
      summary: Discord Create webhook
      description: Creates a new webhook for the channel.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/channelId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 80
                avatar:
                  type: string
                  nullable: true
      responses:
        '200':
          description: Webhook created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Webhook'
        4XX:
          $ref: '#/components/responses/ClientError'
  /guilds/{guild_id}/webhooks:
    get:
      operationId: getGuildWebhooks
      summary: Discord List guild webhooks
      description: Returns a list of guild webhook objects.
      tags:
      - Webhooks
      parameters:
      - $ref: '#/components/parameters/guildId'
      responses:
        '200':
          description: List of webhook objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Webhook'
        4XX:
          $ref: '#/components/responses/ClientError'
components:
  schemas:
    MessageReactionCountDetailsResponse:
      type: object
      properties:
        burst:
          type: integer
          format: int32
        normal:
          type: integer
          format: int32
      required:
      - burst
      - normal
    Int53Type:
      type: integer
      minimum: -9007199254740991
      maximum: 9007199254740991
      format: int64
    ApplicationTypes:
      type: integer
      oneOf:
      - title: GUILD_ROLE_SUBSCRIPTIONS
        const: 4
      format: int32
    MessageRoleSubscriptionDataResponse:
      type: object
      properties:
        role_subscription_listing_id:
          $ref: '#/components/schemas/SnowflakeType'
        tier_name:
          type: string
        total_months_subscribed:
          type: integer
          format: int32
        is_renewal:
          type: boolean
      required:
      - role_subscription_listing_id
      - tier_name
      - total_months_subscribed
      - is_renewal
    InputText:
      type: object
      properties:
        type:
          type: integer
          enum:
          - 4
          allOf:
          - $ref: '#/components/schemas/MessageComponentTypes'
          format: int32
        custom_id:
          type: string
          maxLength: 100
        style:
          $ref: '#/components/schemas/TextStyleTypes'
        label:
          type: string
          maxLength: 45
        value:
          type:
          - string
          - 'null'
          maxLength: 4000
        placeholder:
          type:
          - string
          - 'null'
          maxLength: 100
        required:
          type:
          - boolean
          - 'null'
        min_length:
          type:
          - integer
          - 'null'
          minimum: 0
          maximum: 4000
        max_length:
          type:
          - integer
          - 'null'
          minimum: 1
          maximum: 4000
      required:
      - type
      - custom_id
      - style
      - label
    GithubRelease:
      type: object
      properties:
        id:
          type: integer
        tag_name:
          type: string
          maxLength: 152133
        html_url:
          type: string
          maxLength: 2048
          format: uri
        author:
          $ref: '#/components/schemas/GithubUser'
      required:
      - id
      - tag_name
      - html_url
      - author
    ChannelSelectDefaultValue:
      type: object
      properties:
        type:
          type: string
          enum:
          - channel
          allOf:
          - $ref: '#/components/schemas/SnowflakeSelectDefaultValueTypes'
        id:
          $ref: '#/components/schemas/SnowflakeType'
      required:
      - type
      - id
    StringSelect:
      type: object
      properties:
        type:
          type: integer
          enum:
          - 3
          allOf:
          - $ref: '#/components/schemas/MessageComponentTypes'
          format: int32
        custom_id:
          type: string
          maxLength: 100
        placeholder:
          type:
          - string
          - 'null'
          maxLength: 150
        min_values:
          type:
          - integer
          - 'null'
          minimum: 0
          maximum: 25
        max_values:
          type:
          - integer
          - 'null'
          minimum: 1
          maximum: 25
        disabled:
          type:
          - boolean
          - 'null'
        options:
          type: array
          items:
            $ref: '#/components/schemas/SelectOption'
          minItems: 1
          maxItems: 25
      required:
      - type
      - custom_id
      - options
    ApplicationResponse:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/SnowflakeType'
        name:
          type: string
        icon:
          type:
          - string
          - 'null'
        description:
          type: string
        type:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/ApplicationTypes'
        cover_image:
          type:
          - string
          - 'null'
        primary_sku_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        bot:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UserResponse'
        slug:
          type:
          - string
          - 'null'
        guild_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        rpc_origins:
          type:
          - array
          - 'null'
          items:
            type:
            - string
            - 'null'
        bot_public:
          type:
          - boolean
          - 'null'
        bot_require_code_grant:
          type:
          - boolean
          - 'null'
        terms_of_service_url:
          type:
          - string
          - 'null'
          format: uri
        privacy_policy_url:
          type:
          - string
          - 'null'
          format: uri
        custom_install_url:
          type:
          - string
          - 'null'
          format: uri
        install_params:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/ApplicationOAuth2InstallParamsResponse'
        verify_key:
          type: string
        flags:
          type: integer
          format: int32
        max_participants:
          type:
          - integer
          - 'null'
          format: int32
        tags:
          type:
          - array
          - 'null'
          items:
            type: string
          uniqueItems: true
      required:
      - id
      - name
      - description
      - verify_key
      - flags
    ChannelFollowerWebhookResponse:
      type: object
      properties:
        application_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        avatar:
          type:
          - string
          - 'null'
        channel_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        guild_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        id:
          $ref: '#/components/schemas/SnowflakeType'
        name:
          type: string
        type:
          type: integer
          enum:
          - 2
          allOf:
          - $ref: '#/components/schemas/WebhookTypes'
          format: int32
        user:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UserResponse'
        source_guild:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/WebhookSourceGuildResponse'
        source_channel:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/WebhookSourceChannelResponse'
      required:
      - id
      - name
      - type
    MessageComponentRoleSelectResponse:
      type: object
      properties:
        type:
          type: integer
          enum:
          - 6
          allOf:
          - $ref: '#/components/schemas/MessageComponentTypes'
          format: int32
        id:
          $ref: '#/components/schemas/SnowflakeType'
        custom_id:
          type: string
        placeholder:
          type:
          - string
          - 'null'
        min_values:
          type:
          - integer
          - 'null'
          format: int32
        max_values:
          type:
          - integer
          - 'null'
          format: int32
        disabled:
          type:
          - boolean
          - 'null'
      required:
      - type
      - id
      - custom_id
    Button:
      type: object
      properties:
        type:
          type: integer
          enum:
          - 2
          allOf:
          - $ref: '#/components/schemas/MessageComponentTypes'
          format: int32
        custom_id:
          type:
          - string
          - 'null'
          maxLength: 100
        style:
          $ref: '#/components/schemas/ButtonStyleTypes'
        label:
          type:
          - string
          - 'null'
          maxLength: 80
        disabled:
          type:
          - boolean
          - 'null'
        emoji:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/Emoji'
        url:
          type:
          - string
          - 'null'
          maxLength: 512
          format: uri
        sku_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
      required:
      - type
      - style
    RichEmbedVideo:
      type: object
      properties:
        url:
          type:
          - string
          - 'null'
          maxLength: 2048
          format: uri
        width:
          type:
          - integer
          - 'null'
        height:
          type:
          - integer
          - 'null'
        placeholder:
          type:
          - string
          - 'null'
          maxLength: 64
        placeholder_version:
          type:
          - integer
          - 'null'
          minimum: 0
          maximum: 2147483647
    GithubAuthor:
      type: object
      properties:
        username:
          type:
          - string
          - 'null'
          maxLength: 152133
        name:
          type: string
          maxLength: 152133
      required:
      - name
    StickerFormatTypes:
      type: integer
      oneOf:
      - title: PNG
        const: 1
      - title: APNG
        const: 2
      - title: LOTTIE
        const: 3
      - title: GIF
        const: 4
      format: int32
    GithubRepository:
      type: object
      properties:
        id:
          type: integer
        html_url:
          type: string
          maxLength: 2048
          format: uri
        name:
          type: string
          maxLength: 152133
        full_name:
          type: string
          maxLength: 152133
      required:
      - id
      - html_url
      - name
      - full_name
    MessageEmbedVideoResponse:
      type: object
      properties:
        url:
          type:
          - string
          - 'null'
        proxy_url:
          type:
          - string
          - 'null'
          format: uri
        width:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UInt32Type'
        height:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UInt32Type'
        placeholder:
          type:
          - string
          - 'null'
        placeholder_version:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UInt32Type'
    GithubCheckSuite:
      type: object
      properties:
        conclusion:
          type:
          - string
          - 'null'
          maxLength: 152133
        head_branch:
          type:
          - string
          - 'null'
          maxLength: 152133
        head_sha:
          type: string
          maxLength: 152133
        pull_requests:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/GithubCheckPullRequest'
          maxItems: 1521
        app:
          $ref: '#/components/schemas/GithubCheckApp'
      required:
      - head_sha
      - app
    ThreadMetadataResponse:
      type: object
      properties:
        archived:
          type: boolean
        archive_timestamp:
          type:
          - string
          - 'null'
          format: date-time
        auto_archive_duration:
          $ref: '#/components/schemas/ThreadAutoArchiveDuration'
        locked:
          type: boolean
        create_timestamp:
          type:
          - string
          - 'null'
          format: date-time
        invitable:
          type:
          - boolean
          - 'null'
      required:
      - archived
      - auto_archive_duration
      - locked
    ResolvedObjectsResponse:
      type: object
      properties:
        users:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/UserResponse'
        members:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GuildMemberResponse'
        channels:
          type: object
          additionalProperties:
            oneOf:
            - $ref: '#/components/schemas/GuildChannelResponse'
            - $ref: '#/components/schemas/PrivateChannelResponse'
            - $ref: '#/components/schemas/PrivateGroupChannelResponse'
            - $ref: '#/components/schemas/ThreadResponse'
        roles:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/GuildRoleResponse'
      required:
      - users
      - members
      - channels
      - roles
    SnowflakeType:
      type: string
      pattern: ^(0|[1-9][0-9]*)$
      format: snowflake
    StickerTypes:
      type: integer
      oneOf:
      - title: STANDARD
        description: an official sticker in a pack, part of Nitro or in a removed purchasable pack
        const: 1
      - title: GUILD
        description: a sticker uploaded to a guild for the guild's members
        const: 2
      format: int32
    BasicApplicationResponse:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/SnowflakeType'
        name:
          type: string
        icon:
          type:
          - string
          - 'null'
        description:
          type: string
        type:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/ApplicationTypes'
        cover_image:
          type:
          - string
          - 'null'
        primary_sku_id:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/SnowflakeType'
        bot:
          oneOf:
          - type: 'null'
          - $ref: '#/components/schemas/UserResponse'
      required:
      - id
      - name
      - description
    GithubCheckApp:
      type: object
      properties:
        name:
          type: string
          maxLength: 152133
      required:
      - name
    MessageEmbedFooterResponse:
      type: object
      properties:
        text:
          type: string
        icon_url:
          type:
          - string
          - 'null'
        proxy_icon_url:
          type:
          - string
          - 'null'
          form

# --- truncated at 32 KB (113 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/discord/refs/heads/main/openapi/discord-webhooks-api-openapi.yml