openapi: 3.2.0
info:
title: Nasuni Data Service (NDS) API
description: "\n# Overview\n\nWelcome to Nasuni Data Service (NDS) API Documentation.\n\nThis documentation provides comprehensive information about the Nasuni Data\nService (NDS) API. This API provides Azure Blob Storage compatible endpoints for\naccessing data stored in Nasuni Volume.\n\n## Authentication\n\nThis API supports the following authentication methods:\n* **SAS Token Authentication**: Use a Shared Access Signature (SAS) token to\n authenticate your requests. You can copy one of the SAS tokens generated during\n NDS deployment. This requires the following query parameters:\n - `sv`: The storage service version.\n - `ss`: The services accessible with the SAS token.\n - `srt`: The resource types accessible with the SAS token.\n - `sp`: The permissions granted by the SAS token.\n - `se`: The expiration time of the SAS token.\n - `st`: The start time of the SAS token.\n - `sig`: The signature for the SAS token.\n* **Shared Key Authentication**: Use a shared key to sign your requests. This\n type of authorization is represented in the `Authorization` header. You should\n use one of the two Shared Keys generated during NDS Deployment.\n\n## Available Operations\n* **List Containers**: Retrieve a list of all containers (Nasuni Volumes)\n registered with NDS.\n* **List Blobs**: Retrieve a list of blobs (files) within a specified container\n (Nasuni Volume).\n* **Get Blob**: Download a specific blob (file) from a container\n (Nasuni Volume).\n* **Get Blob Properties**: Retrieve metadata and properties of a specific blob\n (file) from a container (Nasuni Volume) without downloading the actual content.\n"
termsOfService: https://www.nasuni.com/legal
contact:
name: Nasuni Support
url: https://www.nasuni.com/support
email: support@nasuni.com
license:
name: Nasuni
url: https://www.nasuni.com/legal
version: 1.0.0
tags:
- name: Nasuni Data Service (NDS) API
paths:
/:
get:
summary: List Containers
description: List all containers (i.e. Nasuni Volumes) that are attached to Nasuni Data Service.
operationId: list_containers__get
responses:
'200':
description: Success. Returns the list of containers.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
6c19a28d-19cd-4876-ac90-1a2fe3a22426-1Thu, 27 Jun 2024 13:31:43 GMT6c19a28d-19cd-4876-ac90-1a2fe3a22426_1container10'
'403':
description: Forbidden.
headers:
date:
description: Response date
schema:
type: string
server:
description: Server name
schema:
type: string
x-request-id:
description: Request ID
schema:
type: string
x-ms-error-code:
description: Azure error code
schema:
type: string
content-length:
description: Content length
schema:
type: integer
content-type:
description: Content type
schema:
type: string
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
AuthenticationFailedServer failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:
Time:2025-08-06T20:46:00.503175+00:00Z'
security:
- SharedKeyAuthorization: []
- SASAuth_sig: []
- SASAuth_se: []
- SASAuth_sp: []
- SASAuth_sv: []
- SASAuth_ss: []
- SASAuth_srt: []
- SASAuth_sr: []
- SASAuth_st: []
- SASAuth_si: []
- SASAuth_sip: []
- SASAuth_spr: []
- SASAuth_rscc: []
- SASAuth_rscd: []
- SASAuth_rsce: []
- SASAuth_rscl: []
- SASAuth_rsct: []
- SASAuth_rs: []
- SASAuth_ses: []
tags:
- Nasuni Data Service (NDS) API
/{container}/:
get:
summary: List blobs in a container
description: List all containers (i.e. Nasuni Volumes) that are attached to Nasuni Data Service.
operationId: list_blobs___container___get
security:
- SharedKeyAuthorization: []
- SASAuth_sig: []
- SASAuth_se: []
- SASAuth_sp: []
- SASAuth_sv: []
- SASAuth_ss: []
- SASAuth_srt: []
- SASAuth_sr: []
- SASAuth_st: []
- SASAuth_si: []
- SASAuth_sip: []
- SASAuth_spr: []
- SASAuth_rscc: []
- SASAuth_rscd: []
- SASAuth_rsce: []
- SASAuth_rscl: []
- SASAuth_rsct: []
- SASAuth_rs: []
- SASAuth_ses: []
parameters:
- name: container
in: path
required: true
schema:
type: string
title: Container
- name: restype
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Resource Type
description: The type of resource to access, e.g., "container".
description: The type of resource to access, e.g., "container".
- name: comp
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Component
description: The operation to be performed on the resource, e.g., "list".
description: The operation to be performed on the resource, e.g., "list".
- name: prefix
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Prefix
description: Optional. Filters the results to return only blobs with names that begin with the specified prefix.
description: Optional. Filters the results to return only blobs with names that begin with the specified prefix.
- name: marker
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Marker
description: Optional. A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. You can then use the marker value in a subsequent call to request the next set of list items.
description: Optional. A string value that identifies the portion of the list to be returned with the next list operation. The operation returns a marker value within the response body if the list returned was not complete. You can then use the marker value in a subsequent call to request the next set of list items.
- name: maxresults
in: query
required: false
schema:
anyOf:
- type: integer
- type: 'null'
title: Max Results
description: Optional. Specifies the maximum number of blobs to return, including all `BlobPrefix` elements. If the request doesn't specify `maxresults`, or specifies a value greater than `5,000`, the server will return up to `5,000` items. If there are additional results to return, the service returns a continuation the service might return fewer token in the `NextMarker` response element. In certain cases, results than specified by `maxresults`, and also return a `NextMarker` token.
description: Optional. Specifies the maximum number of blobs to return, including all `BlobPrefix` elements. If the request doesn't specify `maxresults`, or specifies a value greater than `5,000`, the server will return up to `5,000` items. If there are additional results to return, the service returns a continuation the service might return fewer token in the `NextMarker` response element. In certain cases, results than specified by `maxresults`, and also return a `NextMarker` token.
- name: delimiter
in: query
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Delimiter
description: Optional. When the request includes this parameter, the operation returns a `BlobPrefix` element in the response body. This element acts as a placeholder for all blobs with names that begin with the same substring, up to the appearance of the `delimiter` character. The `delimiter` can be a single character or a string.
description: Optional. When the request includes this parameter, the operation returns a `BlobPrefix` element in the response body. This element acts as a placeholder for all blobs with names that begin with the same substring, up to the appearance of the `delimiter` character. The `delimiter` can be a single character or a string.
responses:
'200':
description: Success. Returns the list of blobs in the container.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
sample.txtFri, 20 Jun 2025 12:00:00 GMT12345AbCdEf123456==text/plainFri, 20 Jun 2025 12:00:00 GMTFri, 20 Jun 2025 12:00:00 GMTsample-etag-123HottrueBlockBlobavailableunlockedtrue3.uni3eFa6F0b-7381000123452025-06-20T12:00:00Z2025-06-20T12:00:00Z3.uni3eFa6F0b-15000'
'400':
description: Bad Request.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
InvalidQueryParameterValueAn invalid value was specified for one of the query parameters in the request URI.
RequestId:
Time:2025-08-06T20:46:00.502977+00:00Z'
'403':
description: Forbidden.
headers:
date:
description: Response date
schema:
type: string
server:
description: Server name
schema:
type: string
x-request-id:
description: Request ID
schema:
type: string
x-ms-error-code:
description: Azure error code
schema:
type: string
content-length:
description: Content length
schema:
type: integer
content-type:
description: Content type
schema:
type: string
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
AuthenticationFailedServer failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:
Time:2025-08-06T20:46:00.503175+00:00Z'
'404':
description: Not Found. The specified resource does not exist.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
BlobNotFoundThe specified blob does not exist.
RequestId:
Time:2025-08-06T20:46:00.503220+00:00Z'
tags:
- Nasuni Data Service (NDS) API
/{container}/{blob}:
get:
summary: Get a blob
description: Get the contents of the specified blob (file).
operationId: get_blob__container___blob__get
security:
- SharedKeyAuthorization: []
- SASAuth_sig: []
- SASAuth_se: []
- SASAuth_sp: []
- SASAuth_sv: []
- SASAuth_ss: []
- SASAuth_srt: []
- SASAuth_sr: []
- SASAuth_st: []
- SASAuth_si: []
- SASAuth_sip: []
- SASAuth_spr: []
- SASAuth_rscc: []
- SASAuth_rscd: []
- SASAuth_rsce: []
- SASAuth_rscl: []
- SASAuth_rsct: []
- SASAuth_rs: []
- SASAuth_ses: []
parameters:
- name: container
in: path
required: true
schema:
type: string
title: Container
- name: blob
in: path
required: true
schema:
type: string
title: Blob
responses:
'200':
description: Success. Returns the blob contents as the guessed MIME type.
content:
'*/*':
example: Sample file content.
headers:
content-length:
description: Blob size in bytes
schema:
type: integer
example: 10485760
content-type:
description: Guessed MIME type
schema:
type: string
example: text/plain
last-modified:
description: Last modified date
schema:
type: string
example: Mon, 09 Jun 2025 19:29:04 GMT
etag:
description: Entity tag
schema:
type: string
example: fc0dd9e8ae65c883dc634a4affc933b9-0
x-ms-creation-time:
description: Creation time
schema:
type: string
example: Mon, 09 Jun 2025 19:29:04 GMT
x-ms-request-id:
description: Request ID
schema:
type: string
example: 80b36086-1234-5678-87cc-de4d122abce5
x-ms-client-request-id:
description: Client request ID
schema:
type: string
example: 80b361d0-4ddc-11f0-87cc-de4d122abce5
x-ms-version:
description: API version
schema:
type: string
example: '2024-05-04'
x-ms-blob-type:
description: Blob type
schema:
type: string
example: '`BlockBlob`'
x-ms-meta-version:
description: 'Metadata: version'
schema:
type: string
example: '4'
x-ms-meta-handle:
description: 'Metadata: UniFS handle'
schema:
type: string
example: 3.uni8eF3bF59-1749497123-123
x-ms-meta-uid:
description: 'Metadata: uid'
schema:
type: string
example: '0'
x-ms-meta-gid:
description: 'Metadata: gid'
schema:
type: string
example: '0'
x-ms-meta-mode:
description: 'Metadata: mode'
schema:
type: string
example: '0100644'
x-ms-meta-size:
description: 'Metadata: size'
schema:
type: string
example: '10485760'
x-ms-meta-atime:
description: 'Metadata: atime'
schema:
type: string
example: '2025-06-09T19:29:04.243003797Z'
x-ms-meta-mtime:
description: 'Metadata: mtime'
schema:
type: string
example: '2025-06-09T19:29:04.424638744Z'
x-ms-meta-ctime:
description: 'Metadata: ctime'
schema:
type: string
example: '2025-06-09T19:29:04.423795224Z'
x-ms-meta-firsthandle:
description: 'Metadata: UniFS firsthandle'
schema:
type: string
example: 3-uni6C19A28D-1749497123-1
'206':
description: Partial Content. Returns a file segment with guessed MIME type.
content:
'*/*':
example: Partial file content.
headers:
date:
description: Response date
schema:
type: string
example: Fri, 20 Jun 2025 14:03:53 GMT
content-length:
description: Length of the returned content in bytes
schema:
type: integer
example: 1025
content-type:
description: Guessed MIME type
schema:
type: string
example: text/plain
last-modified:
description: Last modified date
schema:
type: string
example: Mon, 09 Jun 2025 19:29:04 GMT
etag:
description: Entity tag
schema:
type: string
example: fc0dd9e8ae65c883dc634a4affc933b9-0
x-ms-creation-time:
description: Creation time
schema:
type: string
example: Mon, 09 Jun 2025 19:29:04 GMT
x-ms-request-id:
description: Request ID
schema:
type: string
example: 66d673ee-4ddf-11f0-9607-2648d06f86ef
x-ms-client-request-id:
description: Client request ID
schema:
type: string
example: 66d674e8-4ddf-11f0-9607-2648d06f86ef
x-ms-version:
description: API version
schema:
type: string
example: '2024-05-04'
x-ms-blob-type:
description: Blob type
schema:
type: string
example: '`BlockBlob`'
content-range:
description: Range of bytes returned
schema:
type: string
example: bytes 0-1024/10485760
x-ms-meta-version:
description: 'Metadata: version'
schema:
type: string
example: '4'
x-ms-meta-handle:
description: 'Metadata: UniFS handle'
schema:
type: string
example: 3.uni8eF3bF59-1749497123-123
x-ms-meta-uid:
description: 'Metadata: uid'
schema:
type: string
example: '0'
x-ms-meta-gid:
description: 'Metadata: gid'
schema:
type: string
example: '0'
x-ms-meta-mode:
description: 'Metadata: mode'
schema:
type: string
example: '0100644'
x-ms-meta-size:
description: 'Metadata: size'
schema:
type: string
example: '10485760'
x-ms-meta-atime:
description: 'Metadata: atime'
schema:
type: string
example: '2025-06-09T19:29:04.243003797Z'
x-ms-meta-mtime:
description: 'Metadata: mtime'
schema:
type: string
example: '2025-06-09T19:29:04.424638744Z'
x-ms-meta-ctime:
description: 'Metadata: ctime'
schema:
type: string
example: '2025-06-09T19:29:04.423795224Z'
x-ms-meta-firsthandle:
description: 'Metadata: UniFS firsthandle'
schema:
type: string
example: 3-uni6C19A28D-1749497123-1
'400':
description: Bad Request.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
InvalidQueryParameterValueAn invalid value was specified for one of the query parameters in the request URI.
RequestId:
Time:2025-08-06T20:46:00.502977+00:00Z'
'403':
description: Forbidden.
headers:
date:
description: Response date
schema:
type: string
server:
description: Server name
schema:
type: string
x-request-id:
description: Request ID
schema:
type: string
x-ms-error-code:
description: Azure error code
schema:
type: string
content-length:
description: Content length
schema:
type: integer
content-type:
description: Content type
schema:
type: string
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
AuthenticationFailedServer failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:
Time:2025-08-06T20:46:00.503175+00:00Z'
'404':
description: Not Found. The specified resource does not exist.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
BlobNotFoundThe specified blob does not exist.
RequestId:
Time:2025-08-06T20:46:00.503220+00:00Z'
'413':
description: Payload Too Large. The uploaded blob exceeds the maximum allowed size.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
BlobTooLargeFile exceeds max size of 1181116007.0
RequestId:
Time:2025-08-06T20:46:00.503251+00:00Z'
tags:
- Nasuni Data Service (NDS) API
head:
summary: Get properties of a blob
description: Get blob (file) properties for the specified container (Nasuni Volume) and path.
operationId: get_blob__container___blob__head
security:
- SharedKeyAuthorization: []
- SASAuth_sig: []
- SASAuth_se: []
- SASAuth_sp: []
- SASAuth_sv: []
- SASAuth_ss: []
- SASAuth_srt: []
- SASAuth_sr: []
- SASAuth_st: []
- SASAuth_si: []
- SASAuth_sip: []
- SASAuth_spr: []
- SASAuth_rscc: []
- SASAuth_rscd: []
- SASAuth_rsce: []
- SASAuth_rscl: []
- SASAuth_rsct: []
- SASAuth_rs: []
- SASAuth_ses: []
parameters:
- name: container
in: path
required: true
schema:
type: string
title: Container
- name: blob
in: path
required: true
schema:
type: string
title: Blob
responses:
'200':
description: Success. Returns the blob properties.
content:
text/plain:
schema:
type: string
format: binary
headers:
content-length:
description: Blob size in bytes
schema:
type: integer
content-type:
description: MIME type
schema:
type: string
last-modified:
description: Last modified date
schema:
type: string
etag:
description: Entity tag
schema:
type: string
x-ms-creation-time:
description: Creation time
schema:
type: string
x-ms-request-id:
description: Request ID
schema:
type: string
x-ms-client-request-id:
description: Client request ID
schema:
type: string
x-ms-version:
description: API version
schema:
type: string
x-ms-blob-type:
description: Blob type
schema:
type: string
x-ms-meta-version:
description: 'Metadata: version'
schema:
type: string
x-ms-meta-handle:
description: 'Metadata: handle'
schema:
type: string
x-ms-meta-uid:
description: 'Metadata: uid'
schema:
type: string
x-ms-meta-gid:
description: 'Metadata: gid'
schema:
type: string
x-ms-meta-mode:
description: 'Metadata: mode'
schema:
type: string
x-ms-meta-size:
description: 'Metadata: size'
schema:
type: string
x-ms-meta-atime:
description: 'Metadata: atime'
schema:
type: string
x-ms-meta-mtime:
description: 'Metadata: mtime'
schema:
type: string
x-ms-meta-ctime:
description: 'Metadata: ctime'
schema:
type: string
x-ms-meta-firsthandle:
description: 'Metadata: firsthandle'
schema:
type: string
'400':
description: Bad Request.
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
InvalidQueryParameterValueAn invalid value was specified for one of the query parameters in the request URI.
RequestId:
Time:2025-08-06T20:46:00.502977+00:00Z'
'403':
description: Forbidden.
headers:
date:
description: Response date
schema:
type: string
server:
description: Server name
schema:
type: string
x-request-id:
description: Request ID
schema:
type: string
x-ms-error-code:
description: Azure error code
schema:
type: string
content-length:
description: Content length
schema:
type: integer
content-type:
description: Content type
schema:
type: string
content:
application/xml:
schema:
type: object
format: xml
xml:
name: conceptDescription
example: '
AuthenticationFailedServer failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
RequestId:
Time:2025-08-06T20:46:00.503175+00:00Z'
'404':
description: Not Found. The specified blob does not exist.
content:
application/xml:
example: ''
headers:
date:
description: Response date
schema:
type: string
x-request-id:
description: Request ID
schema:
type: string
x-ms-containerapp-name:
description: Container app name
schema:
type: string
example: nds
x-ms-containerapp-revision-name:
description: Container app revision name
schema:
type: string
x-forwarded-proto:
description: Forwarded protocol
schema:
type: string
x-ms-error-code:
description: Azure error code
schema:
type: string
example: BlobNotFound
content-length:
description: Content length
schema:
type: integer
content-type:
description: Content type
schema:
type: string
example: application/xml
tags:
- Nasuni Data Service (NDS) API
components:
securitySchemes:
SharedKeyAuthorization:
type: apiKey
description: Authorization header using one of the Shared Keys generated during NDS Deployment.
This should not be used together with SASAuth_* query parameters.
in: header
name: Authorization
SASAuth_sig:
type: apiKey
description: SAS Authorization signature query param.
in: query
name: sig
SASAuth_se:
type: apiKey
description: SAS Authorization expiration query param
in: query
name: se
SASAuth_sp:
type: apiKey
description: SAS Authorization permissions query param
in: query
name: sp
SASAuth_sv:
type: apiKey
description: SAS Authorization version query param
in: query
name: sv
SASAuth_ss:
type: apiKey
description: SAS Authorization service scope query param
in: query
name: ss
SASAuth_srt:
type: apiKey
description: SAS Authorization resources query param
in: query
name: srt
SASAuth_sr:
type: apiKey
description: SAS Authorization Service resource type query param
in: query
name: sr
SASAuth_st:
type: apiKey
description: SAS Authorization starts query param
in: query
name: st
SASAuth_si:
type: apiKey
description: SAS Authorization identifier query param
in: query
name: si
SASAuth_sip:
type: apiKey
description: SAS Authorization IP range query param
in: query
name: sip
SASAuth_spr:
type: apiKey
description: SAS Authorization protocol query param
in: query
name: spr
SASAuth_rscc:
type: apiKey
description: SAS Authorization response cache control query param
in: query
name: rscc
SASAuth_rscd:
type: apiKey
description: SAS Authorization response content disposition query param
in: query
name: rscd
SASAuth_rsce:
type: apiKey
description: SAS Authorization response content encoding query param
in: query
name: rsce
SASAuth_rscl:
type: apiKey
description: SAS Authorization response content length query param
in: query
name: rscl
SASAuth_rsct:
type: apiKey
description: SAS Authorization response content type query param
in: query
name: rsct
SASAuth_rs:
type: apiKey
description: SAS Authorization snapshot query param
in: query
name: rs
SASAuth_ses:
type: apiKey
description: SAS Authorization encryption scope query param
in: query
name: ses