> ## Documentation Index
> Fetch the complete documentation index at: https://docs.quark.bot/llms.txt
> Use this file to discover all available pages before exploring further.

# Get the whole configuration

> Returns every part of the server's Quark configuration in one response.

The response includes the credentials of the webhooks Quark posts logs through, and the server's API token records. Treat it as sensitive.



## OpenAPI

````yaml /api-reference/openapi.json get /servers/{guild_id}/config
openapi: 3.1.0
info:
  title: Quark API
  version: 2.0.0
  description: Configure Quark and read your server's logs from your own code.
servers:
  - url: https://quark.bot/api
security:
  - bearerAuth: []
tags:
  - name: Configuration
    description: Read the configuration and change server settings.
  - name: Log channels
    description: Where each category of log is sent.
  - name: Logging settings
    description: Server-wide options and settings for individual log types.
  - name: Ignore options
    description: Channels, members, roles and message content left out of the logs.
  - name: Tags
    description: Saved messages posted with /tags send.
  - name: Logs
    description: Read and export the server's logs.
  - name: Notifications
    description: Recent changes to Quark's configuration.
  - name: Troubleshooting
    description: Find out why logs are missing, and fix it.
  - name: Search
    description: Look up members and channels.
  - name: Tokens
    description: List and revoke API tokens.
  - name: Server
    description: Reset the server.
paths:
  /servers/{guild_id}/config:
    get:
      tags:
        - Configuration
      summary: Get the whole configuration
      description: >-
        Returns every part of the server's Quark configuration in one response.


        The response includes the credentials of the webhooks Quark posts logs
        through, and the server's API token records. Treat it as sensitive.
      operationId: getConfig
      parameters:
        - $ref: '#/components/parameters/GuildId'
        - $ref: '#/components/parameters/Bot'
      responses:
        '200':
          description: The configuration.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Config'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  parameters:
    GuildId:
      name: guild_id
      in: path
      required: true
      schema:
        type: string
        pattern: ^\d{17,20}$
        example: '301655085954367490'
      description: The server's ID. Must be the server the token was created for.
    Bot:
      name: bot
      in: query
      required: false
      schema:
        type: string
        enum:
          - pro
      description: >-
        Set to `pro` to act on the Quark Pro bot's configuration. Leave out for
        the main Quark bot.
  schemas:
    Config:
      type: object
      description: >-
        Every part of the server's configuration. Each value is an array of
        rows, or null if nothing is stored.
      properties:
        guilds:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/GuildRow'
        serverlogConfigChannels:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/LogChannels'
        serverlogConfigChannelWebhooks:
          type:
            - array
            - 'null'
          items:
            type: object
          description: >-
            The ID and token of the webhook Quark uses in each log channel.
            Treat these as secrets.
        serverlogConfigCustomOptions:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/LogTypeSettings'
        serverlogConfigIgnoreStandard:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/IgnoreEntry'
        serverlogConfigOptions:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/LogOptions'
        settingsConfig:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/ServerSettings'
        tags:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/Tag'
        quarkApiTokens:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/ApiToken'
    GuildRow:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        owner_id:
          type:
            - string
            - 'null'
          description: The server owner's user ID.
        warnings:
          type: string
          description: Internal bitfield of configuration warnings.
        first_log_at:
          type:
            - integer
            - 'null'
          description: >-
            When the first log was delivered to this server, as a Unix timestamp
            in seconds.
    LogChannels:
      type: object
      description: >-
        Where each category of log is sent. A category that is null follows the
        main channel. A category set to `"0"` is switched off.
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        main_channel:
          type:
            - string
            - 'null'
          description: >-
            The main log channel. A channel ID, `"0"` if switched off, or null
            if not set.
        category_modlog:
          type:
            - string
            - 'null'
          description: Modlogs. A channel ID, `"0"` if switched off, or null if not set.
        category_members:
          type:
            - string
            - 'null'
          description: Members. A channel ID, `"0"` if switched off, or null if not set.
        category_actions:
          type:
            - string
            - 'null'
          description: Actions. A channel ID, `"0"` if switched off, or null if not set.
        category_text:
          type:
            - string
            - 'null'
          description: Messages. A channel ID, `"0"` if switched off, or null if not set.
        category_voice:
          type:
            - string
            - 'null'
          description: Voice. A channel ID, `"0"` if switched off, or null if not set.
        category_files:
          type:
            - string
            - 'null'
          description: >-
            Files (deleted attachments). A channel ID, or null to follow the
            Messages category and then the main channel.
        category_server:
          type:
            - string
            - 'null'
          description: Server. A channel ID, `"0"` if switched off, or null if not set.
        category_roles:
          type:
            - string
            - 'null'
          description: Roles. A channel ID, `"0"` if switched off, or null if not set.
        category_channels:
          type:
            - string
            - 'null'
          description: Channels. A channel ID, `"0"` if switched off, or null if not set.
        category_quark:
          type:
            - string
            - 'null'
          description: >-
            Quark Events. A channel ID, `"0"` if switched off, or null if not
            set.
    LogTypeSettings:
      type: object
      description: >-
        Settings for one log type. A log type only has a row once one of its
        settings has been changed.
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        log_type:
          type: integer
          minimum: 0
          maximum: 100
          description: The log type ID. See the log types page.
        enabled:
          type: integer
          enum:
            - 0
            - 1
          description: 0 if this log type is switched off.
        log_channel:
          type:
            - string
            - 'null'
          description: >-
            The channel this log type is sent to, or null to follow its
            category.
        format_type:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 2
            - null
          description: Format override, or null to use the server-wide format.
        color:
          type:
            - integer
            - 'null'
          description: Embed colour as an integer RGB value, or null for the default.
          example: 16711748
        ignore_bot_executors:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 1
            - null
          description: >-
            1 or 0 to override the server-wide Bot Executors setting for this
            type, or null to follow it.
        ignore_bot_targets:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 1
            - null
          description: >-
            1 or 0 to override the server-wide Bot Targets setting for this
            type, or null to follow it.
        active_ignore:
          type:
            - integer
            - 'null'
          enum:
            - 0
            - 1
            - null
          description: Reserved.
        log_channel_webhook_id:
          type:
            - string
            - 'null'
          description: ID of the webhook Quark uses for this log type's own channel.
        log_channel_webhook_token:
          type:
            - string
            - 'null'
          description: Token of that webhook. Treat it as a secret.
    IgnoreEntry:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        ignore_type:
          $ref: '#/components/schemas/IgnoreType'
        ignore_value:
          type: string
          description: >-
            A channel, category, user or role ID, or the message content,
            depending on `ignore_type`.
          maxLength: 100
    LogOptions:
      type: object
      description: Server-wide logging options.
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        spoilers:
          type: integer
          enum:
            - 0
            - 1
          description: 1 if re-posted files are marked as spoilers.
        format_type:
          type: integer
          enum:
            - 0
            - 2
          description: Log format. 0 is Standard, 2 is Standard (no embed).
        ignore_bot_targets:
          type: integer
          enum:
            - 0
            - 1
          description: 1 if actions done to bots are not logged.
        ignore_bot_executors:
          type: integer
          enum:
            - 0
            - 1
          description: 1 if actions done by bots are not logged.
        active_ignore:
          type: integer
          enum:
            - 0
            - 1
          description: Reserved.
        buttons:
          type: integer
          description: >-
            Bitfield of the standard buttons shown on logs. 1 is User ID, 2 is
            Support Server, 4 is Customise.
        pluralkit_integration:
          type: integer
          enum:
            - 0
            - 1
          description: 1 if PluralKit compatibility is on.
        pro_promotions:
          type: integer
          enum:
            - 0
            - 1
          description: 1 if logs may include a note when part of a log needs Quark Pro.
    ServerSettings:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        locale:
          type: integer
          minimum: 0
          maximum: 18
          description: >-
            The numeric ID of the server's language. See the API introduction
            for the list.
        analytics:
          type: integer
          enum:
            - 0
            - 1
          description: Reserved.
    Tag:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        tag_id:
          type: string
          description: The tag's ID. Use it to update or delete the tag.
          example: a1B2c3D4e5
        tag_name:
          type: string
          description: The tag's name, in lower case.
        content:
          type:
            - string
            - 'null'
          description: The text of the tag.
        color:
          type:
            - integer
            - 'null'
          description: Embed colour as an integer RGB value.
        image:
          type:
            - string
            - 'null'
          description: Image URL.
    ApiToken:
      type: object
      properties:
        id:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The server ID.
        unique_id:
          type: string
          description: >-
            The token's ID. Use it to revoke the token. This is not the token
            itself.
        permissions:
          type: integer
          enum:
            - 1
            - 2
          description: 1 is Admin, 2 is Basic.
        creator:
          type: string
          pattern: ^\d{17,20}$
          example: '301655085954367490'
          description: The user ID of whoever created the token.
    IgnoreType:
      type: integer
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      description: >-
        0 channels, 1 channel categories, 2 executor users, 3 target users, 4
        message content, 5 executor roles, 6 target roles.
  responses:
    Unauthorized:
      description: No token was sent.
      content:
        application/json:
          schema:
            type: object
            description: An empty object.
            example: {}
    Forbidden:
      description: The token belongs to a different server, or is not an Admin token.
      content:
        application/json:
          schema:
            type: object
            description: An empty object.
            example: {}
    RateLimited:
      description: Too many requests. Wait for the number of seconds in `Retry-After`.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds to wait.
        X-RateLimit-Limit:
          schema:
            type: integer
        X-RateLimit-Remaining:
          schema:
            type: integer
      content:
        application/json:
          schema:
            type: object
            description: An empty object.
            example: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.