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

# Get a server's DDoS protection

> ### Overview

Lists the server's protected addresses and protection details. `addresses` maps address IDs to IP addresses. Other endpoints in this section use the IP address itself. Send `?address_id=` to select an address; otherwise, the first is used. If protection details are unavailable, the address list is still returned, `error` explains the problem, and other details are empty.

### Permissions

Requires the `network.read` (View networking) permission for the selected team. Resources outside that team return 404.



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json get /servers/{server}/ddos-protection
openapi: 3.1.0
info:
  title: API reference
  version: 1.0.0
  description: >-
    Use this API to manage your team's servers, networks, backups, and other
    resources.


    ## Authentication


    Create an API key under **API Keys** and send it as a bearer token with
    every request:


    ```

    Authorization: Bearer {YOUR_API_KEY}

    Accept: application/json

    ```


    Copy the key when you create it. It cannot be shown again. Revoking a key
    takes effect immediately.


    ## Permissions


    Give each key only the permissions it needs. Every endpoint lists the
    required permission.


    Permissions cover servers and other resources in the key's team.


    ## Team scope


    A key can access resources in the team selected when it was created. This
    includes servers,

    snapshots, backups, firewall groups, images, SSH keys, scripts, networks and
    addresses.

    Resources in other teams return `404 Not Found`. Create a separate key for
    each team.


    The key determines the team for every request. Legacy keys that had no team
    are assigned

    to the account's first owned team.


    ## Actions that need the panel


    API keys cannot do the following, even with every permission. Sign in to the
    panel in a

    browser to do them:


    - Create, edit or revoke API keys

    - Edit the IP groups that restrict API keys

    - End signed-in sessions

    - Change two-factor authentication

    - Change the account's email address

    - Accept or decline team invitations

    - Switch or leave a team


    This keeps a leaked key from widening its own access or locking you out of
    your account.


    ## Source IP restrictions


    A key can be restricted to one or more IP groups. Requests from other
    addresses are rejected.


    ## Requests and responses


    Each endpoint lists its path, query, header, and body parameters. Examples
    use fictional data.


    Single records use JSON objects. Collections use JSON arrays unless the
    endpoint supports pagination. Timestamps use ISO 8601 in UTC.


    Error responses include `message`. Validation errors also include an
    `errors` object for each field. Each endpoint lists its status codes.


    ## Audit log


    Every API request, including reads, is recorded in the account audit log
    with the key that made it.
servers:
  - url: https://console.advinservers.com/api/v1/client
security:
  - http: []
tags:
  - name: Account
    description: Billing contact details and account setup progress.
  - name: Account activity
    description: Actions performed in the current team by people and API keys.
  - name: Servers
    description: >-
      Order and list servers, read their state and resource use, open a console,
      and control power.
  - name: Server settings
    description: >-
      Rename a server, rebuild it, and change its hardware, media, resolvers and
      credentials.
  - name: Backups
    description: Scheduled server copies stored separately from the server.
  - name: Snapshots
    description: >-
      Take, restore and move server snapshots. Snapshots are kept in snapshot
      storage that the team buys by the GiB.
  - name: Firewall groups
    description: Reusable sets of firewall rules, and the servers they apply to.
  - name: IP groups
    description: Reusable source address lists for firewall rules.
  - name: Server firewall
    description: >-
      Read default traffic policies and rules managed outside your firewall
      groups.
  - name: IP addresses
    description: Manage floating IPs and server address assignments.
  - name: Private networks
    description: Connect servers over a private network in the same location.
  - name: Reverse DNS
    description: Set the hostnames returned by IP address lookups.
  - name: DDoS protection
    description: Configure attack filtering for server addresses.
  - name: Bandwidth
    description: Buy extra bandwidth and share it between servers or location pools.
  - name: SSH keys
    description: Public keys the account can install on a server when it is built.
  - name: Setup scripts
    description: Scripts the account can run on a server when it is built.
  - name: ISO images
    description: ISO images you have downloaded, and the servers they are mounted on.
  - name: Server upgrades
    description: Change an existing server's plan.
  - name: Checkout
    description: Choose a payment method and pay for a purchase.
  - name: Invoices
    description: View and pay account invoices.
  - name: Billing
    description: Manage service renewals, payment methods and account credit.
  - name: Transfers
    description: Move resources between teams or transfer ownership.
  - name: Teams
    description: Manage the team assigned to your API key.
  - name: Team members
    description: Invite people and manage their team access.
  - name: Team roles
    description: Define the permissions granted to team members.
  - name: Team activity
    description: View actions performed in a team.
  - name: Support tickets
    description: >-
      Open, read, reply to and close support tickets. Tickets belong to the
      account holder and are not shared with team members.
paths:
  /servers/{server}/ddos-protection:
    get:
      tags:
        - DDoS protection
      summary: Get a server's DDoS protection
      description: >-
        ### Overview


        Lists the server's protected addresses and protection details.
        `addresses` maps address IDs to IP addresses. Other endpoints in this
        section use the IP address itself. Send `?address_id=` to select an
        address; otherwise, the first is used. If protection details are
        unavailable, the address list is still returned, `error` explains the
        problem, and other details are empty.


        ### Permissions


        Requires the `network.read` (View networking) permission for the
        selected team. Resources outside that team return 404.
      operationId: ddosProtection.show
      parameters:
        - name: server
          in: path
          required: true
          description: The server UUID
          schema:
            type: string
            examples:
              - ecc6f4f1
          example: ecc6f4f1
        - name: address_id
          in: query
          description: The address id ID.
          schema:
            type: string
            examples:
              - 58213
          example: 58213
      responses:
        '200':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - addressId: '58213'
                    address: 203.0.113.24
                    addresses:
                      - id: '58213'
                        address: 203.0.113.24
                      - id: '58391'
                        address: 203.0.113.88
                    settings:
                      symmetrical: true
                      symmetricalBasic: false
                      allowEgress: true
                      attackDuration: 30
                      defaultAction: FILTER
                      discovery: true
                      autoMitigation: true
                    profiles:
                      - id: a45afea6-a83e-4685-b7d5-029d0a91e81e
                        protocol: TCP
                        minDstPort: 443
                        maxDstPort: 443
                        preset:
                          id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
                          name: HTTPS
                          protocol: TCP
                        notes: Black Mesa announcement system
                        createdAt: '2026-03-04T10:22:51Z'
                        updatedAt: '2026-03-04T10:22:51Z'
                    presets:
                      - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
                        name: HTTPS
                        protocol: TCP
                        description: >-
                          Web traffic on port 443, with TLS handshakes validated
                          before they reach the server.
                        action: FILTER
                        filter:
                          filterId: 7
                          name: https
                          id: 31
                      - id: ce736ad0-0ad7-4b43-95b8-1156cccdf2be
                        name: SSH
                        protocol: TCP
                        description: >-
                          Remote shell access on port 22, rate limited per
                          source address.
                        action: FILTER
                        filter:
                          filterId: 3
                          name: ssh
                          id: 12
                    error: null
                allOf:
                  - $ref: '#/components/schemas/DdosManagerData'
        '401':
          description: >-
            The key was missing, malformed, revoked, or belongs to an account
            that no longer exists.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Unauthenticated.
                required:
                  - message
        '403':
          description: >-
            Access denied. Check the key's team, permissions and allowed IP
            addresses. Some actions, such as managing API keys, require a
            browser session. The response message explains the reason.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - >-
                        This API key is not allowed to do that in this team. It
                        needs the "snapshot.delete" permission.
                required:
                  - message
        '404':
          description: >-
            The resource was not found in the selected team. Resources in
            another account or team also return 404.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Not found.
                required:
                  - message
        '429':
          description: >-
            Too many requests. The `Retry-After` header says how many seconds to
            wait. Limits are per account, so several keys on one account share
            them.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - Too Many Attempts.
                required:
                  - message
components:
  schemas:
    DdosManagerData:
      type: object
      description: DDoS protection details for one server.
      examples:
        - addressId: '58213'
          address: 203.0.113.24
          addresses:
            - id: '58213'
              address: 203.0.113.24
            - id: '58391'
              address: 203.0.113.88
          settings:
            symmetrical: true
            symmetricalBasic: false
            allowEgress: true
            attackDuration: 30
            defaultAction: FILTER
            discovery: true
            autoMitigation: true
          profiles:
            - id: a45afea6-a83e-4685-b7d5-029d0a91e81e
              protocol: TCP
              minDstPort: 443
              maxDstPort: 443
              preset:
                id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
                name: HTTPS
                protocol: TCP
              notes: Black Mesa announcement system
              createdAt: '2026-03-04T10:22:51Z'
              updatedAt: '2026-03-04T10:22:51Z'
          presets:
            - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
              name: HTTPS
              protocol: TCP
              description: >-
                Web traffic on port 443, with TLS handshakes validated before
                they reach the server.
              action: FILTER
              filter:
                filterId: 7
                name: https
                id: 31
            - id: ce736ad0-0ad7-4b43-95b8-1156cccdf2be
              name: SSH
              protocol: TCP
              description: Remote shell access on port 22, rate limited per source address.
              action: FILTER
              filter:
                filterId: 3
                name: ssh
                id: 12
          error: null
      properties:
        addressId:
          type:
            - string
            - 'null'
          description: The address ID, or null when no protected address is selected.
          examples:
            - '58213'
        address:
          type:
            - string
            - 'null'
          description: That address itself, as the per-address endpoints name it.
          examples:
            - 203.0.113.24
        addresses:
          type: array
          description: Every address on this server that DDoS protection covers.
          examples:
            - - id: '58213'
                address: 203.0.113.24
              - id: '58391'
                address: 203.0.113.88
          items:
            $ref: '#/components/schemas/DdosProtectedAddressData'
        settings:
          description: The value of `settings`.
          examples:
            - symmetrical: true
              symmetricalBasic: false
              allowEgress: true
              attackDuration: 30
              defaultAction: FILTER
              discovery: true
              autoMitigation: true
          anyOf:
            - $ref: '#/components/schemas/DdosIpSettingsData'
            - type: 'null'
        profiles:
          type: array
          description: The value of `profiles`.
          examples:
            - - id: a45afea6-a83e-4685-b7d5-029d0a91e81e
                protocol: TCP
                minDstPort: 443
                maxDstPort: 443
                preset:
                  id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
                  name: HTTPS
                  protocol: TCP
                notes: Black Mesa announcement system
                createdAt: '2026-03-04T10:22:51Z'
                updatedAt: '2026-03-04T10:22:51Z'
          items:
            $ref: '#/components/schemas/DdosProfileData'
        presets:
          type: array
          description: The value of `presets`.
          examples:
            - - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
                name: HTTPS
                protocol: TCP
                description: >-
                  Web traffic on port 443, with TLS handshakes validated before
                  they reach the server.
                action: FILTER
                filter:
                  filterId: 7
                  name: https
                  id: 31
              - id: ce736ad0-0ad7-4b43-95b8-1156cccdf2be
                name: SSH
                protocol: TCP
                description: >-
                  Remote shell access on port 22, rate limited per source
                  address.
                action: FILTER
                filter:
                  filterId: 3
                  name: ssh
                  id: 12
          items:
            $ref: '#/components/schemas/DdosPresetData'
        error:
          type:
            - string
            - 'null'
          description: What went wrong, when the filtering could not be read.
          examples:
            - null
      required:
        - addressId
        - address
        - addresses
        - settings
        - profiles
        - presets
        - error
      title: DdosManagerData
    DdosProtectedAddressData:
      type: object
      description: One of a server's addresses that DDoS protection covers.
      examples:
        - id: '58213'
          address: 203.0.113.24
      properties:
        id:
          type: string
          description: The address ID.
          examples:
            - '58213'
        address:
          type: string
          description: The address itself, as the per-address endpoints name it.
          examples:
            - 203.0.113.24
      required:
        - id
        - address
      title: DdosProtectedAddressData
    DdosIpSettingsData:
      type: object
      description: How one address is filtered when no rule matches.
      examples:
        - symmetrical: true
          symmetricalBasic: false
          allowEgress: true
          attackDuration: 30
          defaultAction: FILTER
          discovery: true
          autoMitigation: true
      properties:
        symmetrical:
          type: boolean
          description: The value of `symmetrical`.
          examples:
            - true
        symmetricalBasic:
          type: boolean
          description: The value of `symmetrical_basic`.
          examples:
            - false
        allowEgress:
          type: boolean
          description: The value of `allow_egress`.
          examples:
            - true
        attackDuration:
          type: integer
          description: How long, in minutes, an attack is considered ongoing.
          examples:
            - 30
        defaultAction:
          type: string
          description: What happens to traffic no rule matched, FILTER or DROP.
          examples:
            - FILTER
        discovery:
          type: boolean
          description: The value of `discovery`.
          examples:
            - true
        autoMitigation:
          type:
            - boolean
            - 'null'
          description: The value of `auto_mitigation`.
          examples:
            - true
      required:
        - symmetrical
        - symmetricalBasic
        - allowEgress
        - attackDuration
        - defaultAction
        - discovery
        - autoMitigation
      title: DdosIpSettingsData
    DdosProfileData:
      type: object
      description: One filtering rule standing on an address.
      examples:
        - id: a45afea6-a83e-4685-b7d5-029d0a91e81e
          protocol: TCP
          minDstPort: 443
          maxDstPort: 443
          preset:
            id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
            name: HTTPS
            protocol: TCP
          notes: Black Mesa announcement system
          createdAt: '2026-03-04T10:22:51Z'
          updatedAt: '2026-03-04T10:22:51Z'
      properties:
        id:
          type: string
          description: The id ID.
          examples:
            - a45afea6-a83e-4685-b7d5-029d0a91e81e
        protocol:
          type: string
          description: The value of `protocol`.
          examples:
            - TCP
        minDstPort:
          type:
            - integer
            - 'null'
          description: The value of `min_dst_port`.
          examples:
            - 443
        maxDstPort:
          type:
            - integer
            - 'null'
          description: The value of `max_dst_port`.
          examples:
            - 443
        preset:
          description: The value of `preset`.
          examples:
            - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
              name: HTTPS
              protocol: TCP
          anyOf:
            - $ref: '#/components/schemas/DdosProfilePresetData'
            - type: 'null'
        notes:
          type:
            - string
            - 'null'
          description: Optional notes about the request.
          examples:
            - Black Mesa announcement system
        createdAt:
          type:
            - string
            - 'null'
          description: >-
            The provider's own timestamps, in the provider's own format. Kept as
            strings and parsed where they are rendered: the provider does not
            promise anything this side could safely read as a date.
          examples:
            - '2026-03-04T10:22:51Z'
        updatedAt:
          type:
            - string
            - 'null'
          description: The date and time for updated at, in UTC.
          examples:
            - '2026-03-04T10:22:51Z'
      required:
        - id
        - protocol
        - minDstPort
        - maxDstPort
        - preset
        - notes
        - createdAt
        - updatedAt
      title: DdosProfileData
    DdosPresetData:
      type: object
      description: >-
        A ready-made filtering rule the customer can put on one of their
        addresses.
      examples:
        - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
          name: HTTPS
          protocol: TCP
          description: >-
            Web traffic on port 443, with TLS handshakes validated before they
            reach the server.
          action: FILTER
          filter:
            filterId: 7
            name: https
            id: 31
      properties:
        id:
          type: string
          description: The id ID.
          examples:
            - 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
        name:
          type: string
          description: The name shown to customers.
          examples:
            - HTTPS
        protocol:
          type: string
          description: The value of `protocol`.
          examples:
            - TCP
        description:
          type:
            - string
            - 'null'
          description: An optional description shown to customers.
          examples:
            - >-
              Web traffic on port 443, with TLS handshakes validated before they
              reach the server.
        action:
          type: string
          description: What the preset does with matching traffic, FILTER or DROP.
          examples:
            - FILTER
        filter:
          description: The value of `filter`.
          examples:
            - filterId: 7
              name: https
              id: 31
          anyOf:
            - $ref: '#/components/schemas/DdosPresetFilterData'
            - type: 'null'
      required:
        - id
        - name
        - protocol
        - description
        - action
        - filter
      title: DdosPresetData
    DdosProfilePresetData:
      type: object
      description: The preset used to create a DDoS filtering rule.
      examples:
        - id: 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
          name: HTTPS
          protocol: TCP
      properties:
        id:
          type:
            - string
            - 'null'
          description: The id ID.
          examples:
            - 19cfb2ea-daa8-4693-ad63-9d147b00b8f7
        name:
          type: string
          description: The name shown to customers.
          examples:
            - HTTPS
        protocol:
          type: string
          description: The value of `protocol`.
          examples:
            - TCP
      required:
        - id
        - name
        - protocol
      title: DdosProfilePresetData
    DdosPresetFilterData:
      type: object
      description: An upstream filter applied by a DDoS preset.
      examples:
        - filterId: 7
          name: https
          id: 31
      properties:
        filterId:
          type:
            - integer
            - 'null'
          description: The filter id ID.
          examples:
            - 7
        name:
          type: string
          description: The name shown to customers.
          examples:
            - https
        id:
          type:
            - integer
            - 'null'
          description: The id ID.
          examples:
            - 31
      required:
        - filterId
        - name
        - id
      title: DdosPresetFilterData
  securitySchemes:
    http:
      type: http
      description: >-
        Your API key, sent as a bearer token. Create one in the control panel
        under API Keys, give it only the permissions the integration needs, and
        copy it when it is created. It cannot be shown again. Each key is
        restricted to one owned team. The key determines the team for every
        request.
      scheme: bearer

````

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