> ## 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.

# Preview a bandwidth pooling change

> ### Overview

Previews a bandwidth pooling change without applying it. Send `location_id`. If pooling is enabled, `cities` shows the usage assigned to each server after disabling it. If pooling is disabled, `stranded_blocks` lists the team's blocks assigned to servers in more than one location or team, which would no longer provide bandwidth after enabling it.

### 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 /bandwidth-blocks/pooling/preview
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:
  /bandwidth-blocks/pooling/preview:
    get:
      tags:
        - Bandwidth
      summary: Preview a bandwidth pooling change
      description: >-
        ### Overview


        Previews a bandwidth pooling change without applying it. Send
        `location_id`. If pooling is enabled, `cities` shows the usage assigned
        to each server after disabling it. If pooling is disabled,
        `stranded_blocks` lists the team's blocks assigned to servers in more
        than one location or team, which would no longer provide bandwidth after
        enabling it.


        ### Permissions


        Requires the `network.read` (View networking) permission for the
        selected team. Resources outside that team return 404.
      operationId: bandwidthBlock.poolingPreview
      parameters:
        - name: location_id
          in: query
          required: true
          description: The location id ID.
          schema:
            type: integer
            examples:
              - 3
          example: 3
      responses:
        '200':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - location_id: 3
                    pooling: false
                    cities: []
                    stranded_blocks: []
                allOf:
                  - $ref: '#/components/schemas/BandwidthPoolingPreviewData'
        '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
        '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:
    BandwidthPoolingPreviewData:
      type: object
      description: What throwing one city's pooling switch would do, before it is thrown.
      examples:
        - location_id: 3
          pooling: false
          cities: []
          stranded_blocks: []
      properties:
        location_id:
          type: integer
          description: The location id ID.
          examples:
            - 3
        pooling:
          type: boolean
          description: The value of `pooling`.
          examples:
            - false
        cities:
          type: array
          description: The value of `cities`.
          examples:
            - []
          items:
            $ref: '#/components/schemas/BandwidthPoolingCityData'
        stranded_blocks:
          type: array
          description: The value of `stranded_blocks`.
          examples:
            - []
          items:
            $ref: '#/components/schemas/BandwidthStrandedBlockData'
      required:
        - location_id
        - pooling
        - cities
        - stranded_blocks
      title: BandwidthPoolingPreviewData
    BandwidthPoolingCityData:
      type: object
      description: What ending one team's pool in a city would do to the machines in it.
      examples:
        - location_id: 3
          name: Kansas City, MO
          servers:
            - uuid: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
              name: lambda-core
              template_name: Ubuntu 24.04
              template_icon_url: https://img.icons8.com/color/48/ubuntu.png
              windows: false
              limit: 5497558138880
              usage: 500000000000
              usage_after: 679496729600
              shaped_after: false
            - uuid: 304e1794-a5b7-41f2-9a20-c0d444eb6683
              name: sector-c-db
              template_name: Debian 13
              template_icon_url: https://img.icons8.com/color/48/debian.png
              windows: false
              limit: 5497558138880
              usage: 858993459200
              usage_after: 679496729600
              shaped_after: false
          usage: 1358993459200
          limit: 10995116277760
          bound_blocks: 0
      properties:
        location_id:
          type: integer
          description: The location id ID.
          examples:
            - 3
        name:
          type: string
          description: The name shown to customers.
          examples:
            - Kansas City, MO
        servers:
          type: array
          description: The value of `servers`.
          examples:
            - - uuid: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
                name: lambda-core
                template_name: Ubuntu 24.04
                template_icon_url: https://img.icons8.com/color/48/ubuntu.png
                windows: false
                limit: 5497558138880
                usage: 500000000000
                usage_after: 679496729600
                shaped_after: false
              - uuid: 304e1794-a5b7-41f2-9a20-c0d444eb6683
                name: sector-c-db
                template_name: Debian 13
                template_icon_url: https://img.icons8.com/color/48/debian.png
                windows: false
                limit: 5497558138880
                usage: 858993459200
                usage_after: 679496729600
                shaped_after: false
          items:
            $ref: '#/components/schemas/BandwidthPoolingServerData'
        usage:
          type: integer
          description: The value of `usage`.
          examples:
            - 1358993459200
        limit:
          type: integer
          description: The value of `limit`.
          examples:
            - 10995116277760
        bound_blocks:
          type: integer
          description: >-
            Blocks bound to this city, which stop covering anything the moment
            the pool is gone.
          examples:
            - 0
      required:
        - location_id
        - name
        - servers
        - usage
        - limit
        - bound_blocks
      title: BandwidthPoolingCityData
    BandwidthStrandedBlockData:
      type: object
      description: A block that would go idle if a city started pooling.
      examples:
        - uuid: 23653478-238e-4db3-b263-91a221b5e7c2
          terabytes: 2
          remaining: 1649267441664
          region_label: Americas & EMEA
          servers:
            - sector-c-db
          servers_in_other_teams: 1
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - 23653478-238e-4db3-b263-91a221b5e7c2
        terabytes:
          type: integer
          description: The value of `terabytes`.
          examples:
            - 2
        remaining:
          type: integer
          description: The value of `remaining`.
          examples:
            - 1649267441664
        region_label:
          type: string
          description: The value of `region_label`.
          examples:
            - Americas & EMEA
        servers:
          type: array
          description: The machines it covers, by name, so far as this reader may be told.
          examples:
            - - sector-c-db
          items:
            type: string
        servers_in_other_teams:
          type: integer
          description: The value of `servers_in_other_teams`.
          examples:
            - 1
      required:
        - uuid
        - terabytes
        - remaining
        - region_label
        - servers
        - servers_in_other_teams
      title: BandwidthStrandedBlockData
    BandwidthPoolingServerData:
      type: object
      description: One machine's share of a pool that is about to be shared back out.
      examples:
        - uuid: ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
          name: lambda-core
          template_name: Ubuntu 24.04
          template_icon_url: https://img.icons8.com/color/48/ubuntu.png
          windows: false
          limit: 5497558138880
          usage: 500000000000
          usage_after: 679496729600
          shaped_after: false
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - ecc6f4f1-c89b-4dce-a20b-a330641c5b0b
        name:
          type: string
          description: The name shown to customers.
          examples:
            - lambda-core
        template_name:
          type:
            - string
            - 'null'
          description: What the dialog paints the machine with, the same as the dashboard.
          examples:
            - Ubuntu 24.04
        template_icon_url:
          type:
            - string
            - 'null'
          description: The value of `template_icon_url`.
          examples:
            - https://img.icons8.com/color/48/ubuntu.png
        windows:
          type: boolean
          description: The value of `windows`.
          examples:
            - false
        limit:
          type: integer
          description: The value of `limit`.
          examples:
            - 5497558138880
        usage:
          type: integer
          description: The value of `usage`.
          examples:
            - 500000000000
        usage_after:
          type: integer
          description: The value of `usage_after`.
          examples:
            - 679496729600
        shaped_after:
          type: boolean
          description: The value of `shaped_after`.
          examples:
            - false
      required:
        - uuid
        - name
        - template_name
        - template_icon_url
        - windows
        - limit
        - usage
        - usage_after
        - shaped_after
      title: BandwidthPoolingServerData
  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.