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

# Get file storage

> Get all storage information this ID.



## OpenAPI

````yaml /openapi/region-openapi.yaml get /api/v2/filestorage/{filestorageID}
openapi: 3.0.3
info:
  title: Region Service API
  description: >-
    Cloud region discovery and routing service.  This is service not intended
    for direct access

    by end users.  Region related functionality is typically exposed by higher
    level services

    e.g. Compute and Kubernetes, that provide subsets of resources that are
    compatible with

    that service.
  version: 1.13.0
servers: []
security: []
paths:
  /api/v2/filestorage/{filestorageID}:
    description: 'Manages project scoped storage. '
    parameters:
      - $ref: '#/components/parameters/filestorageIDParameter'
    get:
      tags:
        - File storage
      summary: Get file storage
      description: Get all storage information this ID.
      responses:
        '200':
          $ref: '#/components/responses/storageV2Response'
        '400':
          $ref: '#/components/responses/badRequestResponse'
        '401':
          $ref: '#/components/responses/unauthorizedResponse'
        '403':
          $ref: '#/components/responses/forbiddenResponse'
        '404':
          $ref: '#/components/responses/notFoundResponse'
        '500':
          $ref: '#/components/responses/internalServerErrorResponse'
      security:
        - oauth2Authentication: []
components:
  parameters:
    filestorageIDParameter:
      name: filestorageID
      in: path
      description: The storage unique identifier.
      required: true
      schema:
        $ref: '#/components/schemas/fileStorageId'
  responses:
    storageV2Response:
      description: A storage.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/storageV2Read'
          example:
            metadata:
              id: a64f9269-36e0-4312-b8d1-52d93d569b7b
              name: storage-name
              organizationId: 9a8c6370-4065-4d4a-9da0-7678df40cd9d
              projectId: e36c058a-8eba-4f5b-91f4-f6ffb983795c
              creationTime: '2024-05-31T14:11:00Z'
              createdBy: john.doe@acme.com
              provisioningStatus: provisioned
              healthStatus: healthy
              tags:
                - name: tag-name
                  value: tag-value
            spec:
              sizeGiB: 200
              storageType:
                nfs:
                  rootsquash: true
              attachments:
                networkIds:
                  - 903b5fba-8eb0-4016-a854-b8f716bcd9bb
              defaultSnapshotProtectionEnabled: true
              snapshotPolicies: []
            status:
              regionId: ba39bff5-b0d8-4c60-89e5-ed1104356b4a
              storageClassId: 99659b44-1700-400f-9c6c-cfdb4bb0445c
              snapshotPolicies: []
              usage:
                capacityBytes: 107374182400
                usedBytes: 94489280512
                updatedAt: '2026-01-31T12:00:00Z'
              attachments:
                - networkId: 903b5fba-8eb0-4016-a854-b8f716bcd9bb
                  mountSource: 10.0.0.16:/mnt/nfs
                  provisioningStatus: provisioned
                  mountOptions:
                    remoteports: 10.0.0.16-10.0.0.19
    badRequestResponse:
      description: |-
        Request body failed schema validation, or the request does not contain
        all the required fields.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: invalid_request
            error_description: request body invalid
            trace_id: 57bc14d9bd461f0b5a72db830149b67a
    unauthorizedResponse:
      description: Authentication failed or the access token has expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: access_denied
            error_description: authentication failed
            trace_id: 57bc14d9bd461f0b5a72db830149b67a
    forbiddenResponse:
      description: >-
        Request was denied by authorization, this may be caused by the
        authorization

        token not having the required scope for an API, or the user doesn't have
        the

        necessary privileges on the provider platform.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: forbidden
            error_description: user credentials do not have the required privileges
            trace_id: 57bc14d9bd461f0b5a72db830149b67a
    notFoundResponse:
      description: Unable to find a resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: not_found
            error_description: the requested resource does not exist
            trace_id: 57bc14d9bd461f0b5a72db830149b67a
    internalServerErrorResponse:
      description: >-
        An unexpected or unhandled error occurred. This may be a transient error
        and

        may succeed on a retry.  If this isn't the case, please report it as an
        issue.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          example:
            error: server_error
            error_description: failed to token claim
            trace_id: 57bc14d9bd461f0b5a72db830149b67a
  schemas:
    fileStorageId:
      description: A file storage ID.
      type: string
      format: uuid
      x-go-type: regionids.FileStorageID
      x-go-type-import:
        name: regionids
        path: github.com/unikorn-cloud/region/pkg/ids
    storageV2Read:
      description: A storage read only group.
      type: object
      required:
        - metadata
        - spec
        - status
      properties:
        metadata:
          $ref: '#/components/schemas/projectScopedResourceReadMetadata'
        spec:
          $ref: '#/components/schemas/storageV2Spec'
        status:
          $ref: '#/components/schemas/storageV2Status'
    error:
      description: Generic error message, compatible with oauth2.
      type: object
      required:
        - error
        - error_description
      properties:
        error:
          description: >-
            A terse error string expanding on the HTTP error code. Errors are
            based on the OAuth 2.02 specification, but are expanded with
            proprietary status codes for APIs other than those specified by
            OAuth 2.02.
          type: string
          enum:
            - invalid_request
            - server_error
            - access_denied
            - not_found
            - conflict
            - method_not_allowed
            - unsupported_media_type
            - request_entity_too_large
            - unprocessable_content
            - forbidden
        error_description:
          description: Verbose message describing the error.
          type: string
        trace_id:
          description: Unique trace identifier for the request.
          type: string
    projectScopedResourceReadMetadata:
      description: Metadata required by project scoped resource reads.
      allOf:
        - $ref: '#/components/schemas/organizationScopedResourceReadMetadata'
        - type: object
          required:
            - projectId
          properties:
            projectId:
              description: The project identifier the resource belongs to.
              type: string
    storageV2Spec:
      description: A storage's specification.
      type: object
      required:
        - sizeGiB
        - storageType
      properties:
        sizeGiB:
          description: size in GiB of the storage
          type: integer
          format: int64
        storageType:
          $ref: '#/components/schemas/storageTypeV2Spec'
        attachments:
          $ref: '#/components/schemas/storageAttachmentV2Spec'
        defaultSnapshotProtectionEnabled:
          description: >-
            Whether platform-managed Default Snapshot Protection is enabled. On
            create, omission resolves to enabled. On update, omission preserves
            the current setting. Reads return the resolved setting. Explicit
            null is invalid.
          type: boolean
        snapshotPolicies:
          $ref: '#/components/schemas/storageSnapshotPolicyListV2Spec'
    storageV2Status:
      description: Read only status about storage
      type: object
      required:
        - storageClassId
        - regionId
        - snapshotPolicies
      properties:
        storageClassId:
          description: identifier for the storage
          type: string
        regionId:
          description: The region an identity is provisioned in.
          type: string
        usage:
          $ref: '#/components/schemas/storageUsageV2Status'
        attachments:
          $ref: '#/components/schemas/storageAttachmentListV2Status'
        snapshotPolicies:
          $ref: '#/components/schemas/storageSnapshotPolicyListV2Status'
    organizationScopedResourceReadMetadata:
      description: Metadata required by organization scoped resource reads.
      allOf:
        - $ref: '#/components/schemas/resourceReadMetadata'
        - type: object
          required:
            - organizationId
          properties:
            organizationId:
              description: The organization identifier the resource belongs to.
              type: string
    storageTypeV2Spec:
      description: A storage's type
      type: object
      properties:
        NFS:
          $ref: '#/components/schemas/NFSV2Spec'
    storageAttachmentV2Spec:
      description: Describes the network attachment for storage
      type: object
      required:
        - networkIds
      properties:
        networkIds:
          $ref: '#/components/schemas/networkIDList'
    storageSnapshotPolicyListV2Spec:
      description: A list of named snapshot policies for storage.
      type: array
      maxItems: 4
      x-kubernetes-list-type: map
      x-kubernetes-list-map-keys:
        - name
      items:
        $ref: '#/components/schemas/storageSnapshotPolicyV2Spec'
    storageUsageV2Status:
      description: Information about the usage of the storage in bytes
      type: object
      required:
        - capacityBytes
      properties:
        capacityBytes:
          description: total space allotted in bytes
          type: integer
          format: int64
        usedBytes:
          description: amount of storage space used in bytes
          type: integer
          format: int64
        updatedAt:
          description: timestamp when the usage was last updated
          type: string
          format: date-time
    storageAttachmentListV2Status:
      description: Describes the network attachments for storage
      type: array
      items:
        $ref: '#/components/schemas/storageAttachmentV2Status'
    storageSnapshotPolicyListV2Status:
      description: A list of observed snapshot policy states for storage.
      type: array
      items:
        $ref: '#/components/schemas/storageSnapshotPolicyV2Status'
    resourceReadMetadata:
      description: Metadata required by all resource reads.
      allOf:
        - $ref: '#/components/schemas/staticResourceMetadata'
        - type: object
          required:
            - provisioningStatus
            - healthStatus
          properties:
            deletionTime:
              description: The time the resource was deleted.
              type: string
              format: date-time
            provisioningStatus:
              $ref: '#/components/schemas/resourceProvisioningStatus'
            healthStatus:
              $ref: '#/components/schemas/resourceHealthStatus'
    NFSV2Spec:
      description: NFS specific
      type: object
      required:
        - rootSquash
      properties:
        rootSquash:
          description: root squash
          type: boolean
    networkIDList:
      description: A list of network IDs
      type: array
      items:
        description: A network identifier
        type: string
    storageSnapshotPolicyV2Spec:
      description: A named snapshot policy for storage.
      type: object
      required:
        - name
        - schedule
        - retention
      properties:
        name:
          description: Stable identity key for the snapshot policy.
          type: string
          maxLength: 19
          pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$
        schedule:
          $ref: '#/components/schemas/storageSnapshotScheduleV2Spec'
        retention:
          $ref: '#/components/schemas/storageSnapshotRetentionV2Spec'
    storageAttachmentV2Status:
      description: Describes the network attachment for storage
      type: object
      required:
        - networkId
        - provisioningStatus
      properties:
        networkId:
          description: The network ID
          type: string
        mountSource:
          description: >-
            The mount source for the attached storage in the format
            <host>:<path>.
          type: string
        mountOptions:
          description: Optional NFS mount options for the attached storage.
          type: object
          additionalProperties:
            type: string
        provisioningStatus:
          $ref: '#/components/schemas/resourceProvisioningStatus'
    storageSnapshotPolicyV2Status:
      description: Observed state for a named storage snapshot policy.
      type: object
      required:
        - name
        - provisioningStatus
      properties:
        name:
          description: Stable identity key for the snapshot policy.
          type: string
          maxLength: 19
          pattern: ^[a-z]([-a-z0-9]*[a-z0-9])?$
        provisioningStatus:
          $ref: '#/components/schemas/resourceProvisioningStatus'
        message:
          description: Optional human-readable status detail for the snapshot policy.
          type: string
    staticResourceMetadata:
      description: |
        This metadata is for resources that just exist, and don't require
        any provisioning and health status, but benefit from a standardized
        metadata format.
      type: object
      allOf:
        - $ref: '#/components/schemas/resourceMetadata'
        - type: object
          required:
            - id
            - creationTime
          properties:
            id:
              description: The unique resource ID.
              type: string
            creationTime:
              description: The time the resource was created.
              type: string
              format: date-time
            createdBy:
              description: The user who created the resource.
              type: string
            modifiedTime:
              description: The time a resource was updated.
              type: string
              format: date-time
            modifiedBy:
              description: The user who updated the resource.
              type: string
    resourceProvisioningStatus:
      description: The provisioning state of a resource.
      type: string
      enum:
        - unknown
        - pending
        - provisioning
        - provisioned
        - deprovisioning
        - error
    resourceHealthStatus:
      description: The health state of a resource.
      type: string
      enum:
        - unknown
        - healthy
        - degraded
        - error
    storageSnapshotScheduleV2Spec:
      description: Schedule for a storage snapshot policy.
      type: object
      required:
        - interval
      properties:
        interval:
          $ref: '#/components/schemas/storageSnapshotScheduleIntervalV2'
        timeOfDay:
          description: UTC time of day in HH:MMZ form.
          type: string
          pattern: ^([01][0-9]|2[0-3]):[0-5][0-9]Z$
        dayOfWeek:
          $ref: '#/components/schemas/storageSnapshotDayOfWeekV2'
        dayOfMonth:
          description: UTC day of month for monthly snapshot policies.
          type: integer
          minimum: 1
          maximum: 28
    storageSnapshotRetentionV2Spec:
      description: Retention policy for storage snapshots.
      type: object
      required:
        - keep
      properties:
        keep:
          description: Number of snapshots to retain.
          type: integer
          minimum: 1
    resourceMetadata:
      description: Metadata required for all API resource reads and writes.
      required:
        - name
      properties:
        name:
          $ref: '#/components/schemas/kubernetesLabelValue'
        description:
          description: >-
            The resource description, this optionally augments the name with
            more context.
          type: string
        tags:
          $ref: '#/components/schemas/tagList'
    storageSnapshotScheduleIntervalV2:
      description: Snapshot policy cadence.
      type: string
      enum:
        - hourly
        - daily
        - weekly
        - monthly
    storageSnapshotDayOfWeekV2:
      description: UTC day of week for weekly snapshot policies.
      type: string
      enum:
        - monday
        - tuesday
        - wednesday
        - thursday
        - friday
        - saturday
        - sunday
    kubernetesLabelValue:
      description: >-
        A valid Kubernetes label value, typically used for resource names that
        can be

        indexed in the database.
      type: string
      pattern: ^[0-9A-Za-z](?:[0-9A-Za-z-_.]{0,61}[0-9A-Za-z])?$
    tagList:
      description: A list of tags.
      type: array
      items:
        $ref: '#/components/schemas/tag'
    tag:
      description: >-
        A tag mapping arbitrary names to values.  These have no special meaning

        for any component are are intended for use by end users to add
        additional

        context to a resource, for example to categorize it.
      type: object
      required:
        - name
        - value
      properties:
        name:
          description: A unique tag name.
          type: string
        value:
          description: The value of the tag.
          type: string
  securitySchemes:
    oauth2Authentication:
      description: Operation requires OAuth 2.0 bearer token authentication.
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://identity.nks.europe-west4.nscale.com/oauth2/v2/authorization
          tokenUrl: https://identity.nks.europe-west4.nscale.com/oauth2/v2/token
          scopes: {}

````