openapi: 3.0.2
servers:
  - url: http://botschaft.local
info:
  title: FastAPI
  version: 0.1.0
  x-apisguru-categories:
    - messaging
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/ttymck/botschaft/master/example/openapi.json
      version: "3.0"
  x-providerName: botschaft.local
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_apis.guru_assets_images_no-logo.svg
paths:
  /config:
    get:
      operationId: config_config_get
      parameters:
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Config"
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Config
  /discord:
    get:
      operationId: discord_get_discord_get
      parameters:
        - in: query
          name: channel
          required: true
          schema:
            title: Channel
            type: string
        - in: query
          name: message
          required: false
          schema:
            title: Message
            type: string
        - in: query
          name: base64_message
          required: false
          schema:
            title: Base64 Message
            type: string
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Discord Get
      tags:
        - discord
    post:
      operationId: discord_post_discord_post
      parameters:
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/DiscordMessageRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Discord Post
      tags:
        - discord
  /slack:
    get:
      operationId: slack_get_slack_get
      parameters:
        - in: query
          name: channel
          required: true
          schema:
            title: Channel
            type: string
        - in: query
          name: message
          required: false
          schema:
            title: Message
            type: string
        - in: query
          name: base64_message
          required: false
          schema:
            title: Base64 Message
            type: string
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Slack Get
      tags:
        - slack
    post:
      operationId: slack_post_slack_post
      parameters:
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SlackMessageRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Slack Post
      tags:
        - slack
  /sns:
    get:
      operationId: sns_get_sns_get
      parameters:
        - in: query
          name: message
          required: false
          schema:
            title: Message
            type: string
        - in: query
          name: base64_message
          required: false
          schema:
            title: Base64 Message
            type: string
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Sns Get
      tags:
        - sns
    post:
      operationId: sns_post_sns_post
      parameters:
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/SnsMessageRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Sns Post
      tags:
        - sns
  "/topic/{topic_name}":
    get:
      operationId: topic_topic__topic_name__get
      parameters:
        - in: path
          name: topic_name
          required: true
          schema:
            title: Topic Name
            type: string
        - in: query
          name: message
          required: false
          schema:
            title: Message
            type: string
        - in: query
          name: base64_message
          required: false
          schema:
            title: Base64 Message
            type: string
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Topic
  /twilio:
    get:
      operationId: twilio_message_get_twilio_get
      parameters:
        - in: query
          name: to
          required: true
          schema:
            title: To
            type: string
        - in: query
          name: message
          required: false
          schema:
            title: Message
            type: string
        - in: query
          name: base64_message
          required: false
          schema:
            title: Base64 Message
            type: string
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Twilio Message Get
      tags:
        - twilio
    post:
      operationId: twilio_message_post_twilio_post
      parameters:
        - in: header
          name: authorization
          required: false
          schema:
            title: Authorization
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/TwilioMessageRequest"
        required: true
      responses:
        "200":
          content:
            application/json:
              schema: {}
          description: Successful Response
        "422":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/HTTPValidationError"
          description: Validation Error
      summary: Twilio Message Post
      tags:
        - twilio
components:
  schemas:
    Config:
      properties:
        providers:
          title: Providers
          type: object
        topics:
          items: {}
          title: Topics
          type: array
      required:
        - providers
        - topics
      title: Config
      type: object
    DiscordMessageRequest:
      properties:
        base64_message:
          title: Base64 Message
          type: string
        channel:
          title: Channel
          type: string
        message:
          title: Message
          type: string
      required:
        - channel
      title: DiscordMessageRequest
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: "#/components/schemas/ValidationError"
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    SlackMessageRequest:
      properties:
        base64_message:
          title: Base64 Message
          type: string
        channel:
          title: Channel
          type: string
        message:
          title: Message
          type: string
      required:
        - channel
      title: SlackMessageRequest
      type: object
    SnsMessageRequest:
      properties:
        base64_message:
          title: Base64 Message
          type: string
        message:
          title: Message
          type: string
      title: SnsMessageRequest
      type: object
    TwilioMessageRequest:
      properties:
        base64_message:
          title: Base64 Message
          type: string
        message:
          title: Message
          type: string
        to:
          title: To
          type: string
      required:
        - to
      title: TwilioMessageRequest
      type: object
    ValidationError:
      properties:
        loc:
          items:
            type: string
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object
