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

# [Volumes] Resize a storage volume

> Increase the size of a storage volume. Volumes can only be expanded, not shrunk. After resizing, you may need to extend the filesystem within the guest OS to use the additional space. Hot-resize is supported for attached volumes.



## OpenAPI

````yaml https://api.onetsolutions.net/schema post /v1/organizations/{organization_id}/projects/{project_id}/compute/volumes/{id}/resize
openapi: 3.0.3
info:
  title: OnetSolutions API
  version: v1 (v1)
  description: >

    ## Overview


    The OnetSolutions API provides programmatic access to manage your cloud
    infrastructure, domains, and web hosting services.


    ## Authentication


    All API requests require authentication using one of the following methods:


    - **JWT Token**: Obtain a token via login endpoints and include it in the
    `Authorization: Bearer <token>` header

    - **API Key**: Generate an API key from your account settings and use it as
    `Authorization: Bearer sk-onetsolutions-...`


    ## Rate Limiting


    API requests are rate-limited to ensure fair usage:

    - **Standard**: 1000 requests per minute

    - **Burst**: 100 requests per second


    ## Pagination


    List endpoints return paginated results. Use `page` and `page_size` query
    parameters.


    ## Error Handling


    The API uses standard HTTP status codes:

    - `200` Success

    - `201` Created

    - `400` Bad Request

    - `401` Unauthorized

    - `403` Forbidden

    - `404` Not Found

    - `429` Too Many Requests
servers:
  - url: https://api.onetsolutions.net
    description: Production
security: []
tags:
  - name: Authentication
    description: >-
      Login, passwordless authentication, MFA, OAuth providers, and token
      management.
  - name: Organizations
    description: >-
      Organization management, members, roles, modules, audit logs, and
      notification settings.
  - name: Projects
    description: Project management, team members, and project-scoped resources.
  - name: Compute
    description: >-
      Cloud instances, volumes, snapshots, backups, VPCs, firewalls, SSH keys,
      uptime monitors, and instance tasks.
  - name: Domains
    description: >-
      Domain availability, registration, transfers, DNS zones, DNS records, and
      TLD information.
  - name: Web Hosting
    description: >-
      cPanel-based web hosting, emails, databases, subdomains, FTP accounts,
      addon domains, and SSL certificates.
paths:
  /v1/organizations/{organization_id}/projects/{project_id}/compute/volumes/{id}/resize:
    post:
      tags:
        - Compute
      summary: '[Volumes] Resize a storage volume'
      description: >-
        Increase the size of a storage volume. Volumes can only be expanded, not
        shrunk. After resizing, you may need to extend the filesystem within the
        guest OS to use the additional space. Hot-resize is supported for
        attached volumes.
      operationId: resize_volume
      parameters:
        - in: path
          name: id
          schema:
            type: string
          description: Unique identifier of the storage volume.
          required: true
        - in: path
          name: organization_id
          schema:
            type: string
          description: Unique identifier of the organization that owns the resource.
          required: true
        - in: path
          name: project_id
          schema:
            type: string
          description: Unique identifier of the project containing the resource.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InstanceVolume'
        required: true
      responses:
        '200':
          description: Volume resize initiated successfully
        '400':
          description: Invalid size or resize configuration
        '401':
          description: Authentication credentials missing or invalid
        '403':
          description: Insufficient permissions or storage quota exceeded
        '404':
          description: Volume not found
        '409':
          description: Another volume operation is in progress
      security:
        - BearerAuth: []
components:
  schemas:
    InstanceVolume:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          description: Volume name
          maxLength: 255
        size_gb:
          type: integer
          maximum: 4294967295
          minimum: 0
          format: int64
          description: Volume size in GB
        status:
          enum:
            - pending
            - creating
            - available
            - attached
            - detached
            - deleting
            - deleted
            - error
          type: string
          description: |-
            * `pending` - Pending
            * `creating` - Creating
            * `available` - Available
            * `attached` - Attached
            * `detached` - Detached
            * `deleting` - Deleting
            * `deleted` - Deleted
            * `error` - Error
          x-spec-enum-id: 846eb9b3e36e98dc
          readOnly: true
        disk_type:
          enum:
            - ssd
            - nvme
            - unknown
          type: string
          x-spec-enum-id: 44a7f459d03fa685
          description: |-
            Disk type (ssd, nvme)

            * `ssd` - SSD
            * `nvme` - NVMe
            * `unknown` - Unknown
        instance:
          allOf:
            - $ref: '#/components/schemas/InstanceSummary'
          readOnly: true
        instance_id:
          type: string
          format: uuid
          writeOnly: true
          nullable: true
        location:
          allOf:
            - $ref: '#/components/schemas/DatacenterLocation'
          readOnly: true
        location_id:
          type: string
          format: uuid
          writeOnly: true
        price_monthly:
          type: string
          pattern: ^-?\d{0,8}(?:\.\d{0,2})?$
          readOnly: true
          description: Prix mensuel
        is_active:
          type: boolean
          readOnly: true
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
        - created
        - id
        - instance
        - is_active
        - location
        - location_id
        - modified
        - name
        - price_monthly
        - size_gb
        - status
    InstanceSummary:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        legacy_id:
          type: integer
          readOnly: true
        name:
          type: string
          readOnly: true
          description: Instance name
        hostname:
          type: string
          readOnly: true
          description: Instance hostname
        status:
          enum:
            - pending
            - provisioning
            - active
            - suspended
            - terminated
            - cancelled
          type: string
          x-spec-enum-id: 37bb200cd5c75d35
          readOnly: true
          description: |-
            Billing status

            * `pending` - Pending
            * `provisioning` - Provisioning
            * `active` - Active
            * `suspended` - Suspended
            * `terminated` - Terminated
            * `cancelled` - Cancelled
        primary_ipv4:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: Primary IPv4 address
        primary_ipv6:
          type: string
          format: uuid
          readOnly: true
          nullable: true
          description: Primary IPv6 address
      required:
        - hostname
        - id
        - legacy_id
        - name
        - primary_ipv4
        - primary_ipv6
        - status
    DatacenterLocation:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          description: 'Ex: Paris DC1, Frankfurt DC2'
          maxLength: 100
        slug:
          type: string
          maxLength: 50
          pattern: ^[-a-zA-Z0-9_]+$
        country_code:
          type: string
          description: 'Ex: FR, DE'
          maxLength: 2
        is_active:
          type: boolean
        created:
          type: string
          format: date-time
          readOnly: true
        modified:
          type: string
          format: date-time
          readOnly: true
      required:
        - country_code
        - created
        - id
        - modified
        - name
        - slug
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use `Authorization: Bearer <token>` header. Token can be a JWT token or
        an API key (format: `sk-onetsolutions-...`).

````