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

# Resize a snapshot storage

> ### Overview

Changes the storage to `size_gb`. A larger size charges the prorated difference to account credit and applies once the payment clears. `pending_resize` shows the change until then. A smaller size applies immediately and credits the unused difference back. It must still fit every snapshot in the storage. In both cases, the recurring price changes to the price of the new size.

### Permissions

Requires the `billing.purchase` (Make purchases) permission for the selected team. Resources outside that team return 404.



## OpenAPI

````yaml https://console.advinservers.com/docs/openapi.json post /snapshots/storages/{snapshotStorage}/resize
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:
  /snapshots/storages/{snapshotStorage}/resize:
    post:
      tags:
        - Snapshots
      summary: Resize a snapshot storage
      description: >-
        ### Overview


        Changes the storage to `size_gb`. A larger size charges the prorated
        difference to account credit and applies once the payment clears.
        `pending_resize` shows the change until then. A smaller size applies
        immediately and credits the unused difference back. It must still fit
        every snapshot in the storage. In both cases, the recurring price
        changes to the price of the new size.


        ### Permissions


        Requires the `billing.purchase` (Make purchases) permission for the
        selected team. Resources outside that team return 404.
      operationId: snapshotStorage.resize
      parameters:
        - name: snapshotStorage
          in: path
          required: true
          description: The snapshot storage UUID
          schema:
            type: string
            examples:
              - 9e83397b-d88e-43ae-bfb7-a8c2e6eda853
          example: 9e83397b-d88e-43ae-bfb7-a8c2e6eda853
      requestBody:
        description: >-
          Send a JSON object containing the fields below. Required fields are
          marked in the schema.
        required: true
        content:
          application/json:
            schema:
              examples:
                - size_gb: 300
              allOf:
                - $ref: '#/components/schemas/ResizeSnapshotStorageRequest'
      responses:
        '200':
          description: The record, as a JSON object. There is no envelope.
          content:
            application/json:
              schema:
                examples:
                  - uuid: 9e83397b-d88e-43ae-bfb7-a8c2e6eda853
                    name: Storage 1
                    status: active
                    status_label: Active
                    progress_message: null
                    needs_funds: false
                    size_gb: 200
                    capacity: 214748364800
                    used: 85899345920
                    remaining: 128849018880
                    snapshots_count: 1
                    is_suspended: false
                    is_usable: true
                    billing:
                      service_id: 7436
                      invoice_id: 16388
                      invoice_url: null
                      checkout_uuid: null
                      invoice_status: Paid
                      amount: '3.00'
                      currency: USD
                      billing_cycle: Monthly
                      payment_due_at: null
                      payment_window_minutes: 30
                      paid_at: '2026-06-03T17:26:52+00:00'
                    cancellation_type: null
                    cancellation_requested_at: null
                    autopay: false
                    can_cancel: false
                    can_resize: false
                    pending_resize:
                      uuid: 466c65d5-41ba-4da4-b48d-a0d2c2ebec72
                      from_gb: 200
                      to_gb: 300
                      status: pending
                      needs_funds: false
                      progress_message: null
                      amount: '0.95'
                      refund_amount: '0.00'
                      currency: USD
                      created_at: '2026-09-14T16:42:09+00:00'
                    created_at: '2026-06-03T17:26:40+00:00'
                allOf:
                  - $ref: '#/components/schemas/SnapshotStorageData'
        '400':
          description: >-
            The size is out of range or unchanged, the snapshots already in the
            storage would not fit, the storage is suspended, being cancelled or
            has a resize in progress, or its renewal is due.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - The request could not be carried out.
                required:
                  - message
        '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
        '402':
          description: The account credit does not cover the charge for a larger size.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    examples:
                      - The request could not be carried out.
                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
        '422':
          description: >-
            A field is missing or invalid, or the resource cannot accept this
            change in its current state. Check `message` for details. Field
            validation also includes an `errors` object keyed by field name.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: >-
                      A summary of the validation error or the reason the change
                      was refused.
                    examples:
                      - The name field is required.
                  errors:
                    type: object
                    description: Validation errors grouped by field name.
                    additionalProperties:
                      type: array
                      items:
                        type: string
                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:
    ResizeSnapshotStorageRequest:
      type: object
      examples:
        - size_gb: 300
      properties:
        size_gb:
          type: integer
          description: The value of `size_gb`.
          minimum: 100
          maximum: 10000
      required:
        - size_gb
      title: ResizeSnapshotStorageRequest
    SnapshotStorageData:
      type: object
      description: >-
        A snapshot storage: what it is, how full it is, what it costs, and what
        may be done with it right now.
      examples:
        - uuid: 9e83397b-d88e-43ae-bfb7-a8c2e6eda853
          name: Storage 1
          status: active
          status_label: Active
          progress_message: null
          needs_funds: false
          size_gb: 200
          capacity: 214748364800
          used: 85899345920
          remaining: 128849018880
          snapshots_count: 1
          is_suspended: false
          is_usable: true
          billing:
            service_id: 7436
            invoice_id: 16388
            invoice_url: null
            checkout_uuid: null
            invoice_status: Paid
            amount: '3.00'
            currency: USD
            billing_cycle: Monthly
            payment_due_at: null
            payment_window_minutes: 30
            paid_at: '2026-06-03T17:26:52+00:00'
          cancellation_type: null
          cancellation_requested_at: null
          autopay: false
          can_cancel: false
          can_resize: true
          pending_resize: null
          created_at: '2026-06-03T17:26:40+00:00'
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - 9e83397b-d88e-43ae-bfb7-a8c2e6eda853
        name:
          type: string
          description: The name shown to customers.
          examples:
            - Storage 1
        status:
          type: string
          description: The value of `status`.
          enum:
            - pending_payment
            - active
            - pending_cancellation
            - terminating
            - terminated
            - expired
            - payment_review
          examples:
            - active
        status_label:
          type: string
          description: The status in the customer's words, with suspension first.
          examples:
            - Active
        progress_message:
          type:
            - string
            - 'null'
          description: What the purchase is waiting on, when it is waiting on something.
          examples:
            - null
        needs_funds:
          type: boolean
          description: >-
            Whether the purchase is waiting for the account to hold enough
            credit.
          examples:
            - false
        size_gb:
          type: integer
          description: The size bought, in whole GiB.
          examples:
            - 200
        capacity:
          type: integer
          description: The size bought, in bytes.
          examples:
            - 214748364800
        used:
          type: integer
          description: What the finished snapshots in it occupy, in bytes.
          examples:
            - 85899345920
        remaining:
          type: integer
          description: Capacity less used, never below nought, in bytes.
          examples:
            - 128849018880
        snapshots_count:
          type: integer
          description: The number of snapshots count.
          examples:
            - 1
        is_suspended:
          type: boolean
          description: >-
            Whether billing has suspended it. Its snapshots are frozen while it
            is.
          examples:
            - false
        is_usable:
          type: boolean
          description: >-
            Whether snapshots may be taken into, restored from, deleted from or
            moved in or out of it.
          examples:
            - true
        billing:
          $ref: '#/components/schemas/BillingData'
          description: The value of `billing`.
          examples:
            - service_id: 7436
              invoice_id: 16388
              invoice_url: null
              checkout_uuid: null
              invoice_status: Paid
              amount: '3.00'
              currency: USD
              billing_cycle: Monthly
              payment_due_at: null
              payment_window_minutes: 30
              paid_at: '2026-06-03T17:26:52+00:00'
        cancellation_type:
          type:
            - string
            - 'null'
          description: The value of `cancellation_type`.
          enum:
            - immediate
            - end_of_billing
            - null
          examples:
            - null
        cancellation_requested_at:
          type:
            - string
            - 'null'
          description: The date and time for cancellation requested at, in UTC.
          examples:
            - null
        autopay:
          type: boolean
          description: The value of `autopay`.
          examples:
            - false
        can_cancel:
          type: boolean
          description: Whether the customer can cancel.
          examples:
            - false
        can_resize:
          type: boolean
          description: Whether the customer can resize.
          examples:
            - true
        pending_resize:
          description: A change of size still being paid for or written to billing.
          examples:
            - null
          anyOf:
            - $ref: '#/components/schemas/SnapshotStorageResizeData'
            - type: 'null'
        created_at:
          type:
            - string
            - 'null'
          description: The date and time for created at, in UTC.
          examples:
            - '2026-06-03T17:26:40+00:00'
      required:
        - uuid
        - name
        - status
        - status_label
        - progress_message
        - needs_funds
        - size_gb
        - capacity
        - used
        - remaining
        - snapshots_count
        - is_suspended
        - is_usable
        - billing
        - cancellation_type
        - cancellation_requested_at
        - autopay
        - can_cancel
        - can_resize
        - pending_resize
        - created_at
      title: SnapshotStorageData
    BillingData:
      type: object
      description: >-
        The billing details shared by customer-owned resources and pending
        orders.
      examples:
        - service_id: 7312
          invoice_id: 15542
          invoice_url: null
          checkout_uuid: null
          invoice_status: Paid
          amount: '12.00'
          currency: USD
          billing_cycle: monthly
          payment_due_at: null
          payment_window_minutes: null
          paid_at: '2026-03-02T19:13:58+00:00'
      properties:
        service_id:
          type:
            - integer
            - 'null'
          description: The customer's service number, once a recurring service exists.
          examples:
            - 7312
        invoice_id:
          type:
            - integer
            - 'null'
          description: The customer's invoice number, once an invoice exists.
          examples:
            - 15542
        invoice_url:
          type:
            - string
            - 'null'
          description: A complete URL where the invoice can be paid.
          examples:
            - null
        checkout_uuid:
          type:
            - string
            - 'null'
          description: The checkout UUID, or null when no checkout is available.
          examples:
            - null
        invoice_status:
          type:
            - string
            - 'null'
          description: The current invoice status, or null before an invoice exists.
          examples:
            - Paid
        amount:
          type:
            - string
            - 'null'
          description: The amount in the currency shown by `currency`.
          examples:
            - '12.00'
        currency:
          type:
            - string
            - 'null'
          description: The three-letter currency code used for `amount`.
          examples:
            - USD
        billing_cycle:
          type:
            - string
            - 'null'
          description: How often the service renews, or null for a one-time charge.
          examples:
            - monthly
        payment_due_at:
          type:
            - string
            - 'null'
          description: When payment is due before the reservation is released.
          examples:
            - null
        payment_window_minutes:
          type:
            - integer
            - 'null'
          description: How many minutes the original payment window allowed.
          examples:
            - null
        paid_at:
          type:
            - string
            - 'null'
          description: When the charge was paid, or null while payment is outstanding.
          examples:
            - '2026-03-02T19:13:58+00:00'
      required:
        - service_id
        - invoice_id
        - invoice_url
        - checkout_uuid
        - invoice_status
        - amount
        - currency
        - billing_cycle
        - payment_due_at
        - payment_window_minutes
        - paid_at
      title: BillingData
    SnapshotStorageResizeData:
      type: object
      description: One change of a snapshot storage's size, and what it cost or refunded.
      examples:
        - uuid: 466c65d5-41ba-4da4-b48d-a0d2c2ebec72
          from_gb: 200
          to_gb: 300
          status: pending
          needs_funds: false
          progress_message: null
          amount: '0.95'
          refund_amount: '0.00'
          currency: USD
          created_at: '2026-09-14T16:42:09+00:00'
      properties:
        uuid:
          type: string
          description: The uuid UUID.
          examples:
            - 466c65d5-41ba-4da4-b48d-a0d2c2ebec72
        from_gb:
          type: integer
          description: The value of `from_gb`.
          examples:
            - 200
        to_gb:
          type: integer
          description: The value of `to_gb`.
          examples:
            - 300
        status:
          type: string
          description: The value of `status`.
          enum:
            - pending
            - completed
            - expired
            - payment_review
          examples:
            - pending
        needs_funds:
          type: boolean
          description: Whether the charge is waiting for the account to hold enough credit.
          examples:
            - false
        progress_message:
          type:
            - string
            - 'null'
          description: The value of `progress_message`.
          examples:
            - null
        amount:
          type: string
          description: The prorated charge for a larger size.
          examples:
            - '0.95'
        refund_amount:
          type: string
          description: The prorated credit for a smaller size.
          examples:
            - '0.00'
        currency:
          type: string
          description: The three-letter currency code used for monetary amounts.
          examples:
            - USD
        created_at:
          type:
            - string
            - 'null'
          description: The date and time for created at, in UTC.
          examples:
            - '2026-09-14T16:42:09+00:00'
      required:
        - uuid
        - from_gb
        - to_gb
        - status
        - needs_funds
        - progress_message
        - amount
        - refund_amount
        - currency
        - created_at
      title: SnapshotStorageResizeData
  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.