swagger: '2.0'
info:
description: >-
Azure Data Lake Storage provides storage for Hadoop and other big data
workloads.
title: Microsoft Azure Azure Data Lake Storage REST API
version: '2019-10-31'
x-ms-code-generation-settings:
internalConstructors: true
name: DataLakeStorageClient
x-ms-parameterized-host:
hostTemplate: '{accountName}.{dnsSuffix}'
parameters:
- $ref: '#/parameters/accountName'
- $ref: '#/parameters/dnsSuffix'
schemes:
- https
produces:
- application/json
tags:
- name: Account Operations
- name: File and Directory Operations
- name: Filesystem Operations
parameters:
Version:
description: >-
Specifies the version of the REST protocol used for processing the
request. This is required when using shared key authorization.
in: header
name: x-ms-version
required: false
type: string
x-ms-parameter-location: client
accountName:
description: The Azure Storage account name.
in: path
name: accountName
required: true
type: string
x-ms-skip-url-encoding: true
x-ms-parameter-location: client
dnsSuffix:
default: dfs.core.windows.net
description: The DNS suffix for the Azure Data Lake Storage endpoint.
in: path
name: dnsSuffix
required: true
type: string
x-ms-skip-url-encoding: true
x-ms-parameter-location: client
definitions:
DataLakeStorageError:
properties:
error:
description: The service error response object.
properties:
code:
description: The service error code.
type: string
message:
description: The service error message.
type: string
Path:
properties:
name:
type: string
isDirectory:
default: false
type: boolean
lastModified:
type: string
eTag:
type: string
contentLength:
type: integer
format: int64
owner:
type: string
group:
type: string
permissions:
type: string
PathList:
properties:
paths:
type: array
items:
$ref: '#/definitions/Path'
Filesystem:
properties:
name:
type: string
lastModified:
type: string
eTag:
type: string
FilesystemList:
properties:
filesystems:
type: array
items:
$ref: '#/definitions/Filesystem'
responses:
ErrorResponse:
description: >-
An error occurred. The possible HTTP status, code, and message strings are
listed below:
* 400 Bad Request, ContentLengthMustBeZero, "The Content-Length request
header must be zero."
* 400 Bad Request, InvalidAuthenticationInfo, "Authentication information
is not given in the correct format. Check the value of Authorization
header."
* 400 Bad Request, InvalidFlushPosition, "The uploaded data is not
contiguous or the position query parameter value is not equal to the
length of the file after appending the uploaded data."
* 400 Bad Request, InvalidHeaderValue, "The value for one of the HTTP
headers is not in the correct format."
* 400 Bad Request, InvalidHttpVerb, "The HTTP verb specified is invalid -
it is not recognized by the server."
* 400 Bad Request, InvalidInput, "One of the request inputs is not valid."
* 400 Bad Request, InvalidPropertyName, "A property name cannot be empty."
* 400 Bad Request, InvalidPropertyName, "The property name contains
invalid characters."
* 400 Bad Request, InvalidQueryParameterValue, "Value for one of the query
parameters specified in the request URI is invalid."
* 400 Bad Request, InvalidResourceName, "The specified resource name
contains invalid characters."
* 400 Bad Request, InvalidSourceUri, "The source URI is invalid."
* 400 Bad Request, InvalidUri, "The request URI is invalid."
* 400 Bad Request, MissingRequiredHeader, "An HTTP header that's mandatory
for this request is not specified."
* 400 Bad Request, MissingRequiredQueryParameter, "A query parameter
that's mandatory for this request is not specified."
* 400 Bad Request, MultipleConditionHeadersNotSupported, "Multiple
condition headers are not supported."
* 400 Bad Request, OutOfRangeInput, "One of the request inputs is out of
range."
* 400 Bad Request, OutOfRangeQueryParameterValue, "One of the query
parameters specified in the request URI is outside the permissible range."
* 400 Bad Request, UnsupportedHeader, "One of the headers specified in the
request is not supported."
* 400 Bad Request, UnsupportedQueryParameter, "One of the query parameters
specified in the request URI is not supported."
* 400 Bad Request, UnsupportedRestVersion, "The specified Rest Version is
Unsupported."
* 403 Forbidden, AccountIsDisabled, "The specified account is disabled."
* 403 Forbidden, AuthorizationFailure, "This request is not authorized to
perform this operation."
* 403 Forbidden, InsufficientAccountPermissions, "The account being
accessed does not have sufficient permissions to execute this operation."
* 404 Not Found, FilesystemNotFound, "The specified filesystem does not
exist."
* 404 Not Found, PathNotFound, "The specified path does not exist."
* 404 Not Found, RenameDestinationParentPathNotFound, "The parent
directory of the destination path does not exist."
* 404 Not Found, ResourceNotFound, "The specified resource does not
exist."
* 404 Not Found, SourcePathNotFound, "The source path for a rename
operation does not exist."
* 405 Method Not Allowed, UnsupportedHttpVerb, "The resource doesn't
support the specified HTTP verb."
* 409 Conflict, DestinationPathIsBeingDeleted, "The specified destination
path is marked to be deleted."
* 409 Conflict, DirectoryNotEmpty, "The recursive query parameter value
must be true to delete a non-empty directory."
* 409 Conflict, FilesystemAlreadyExists, "The specified filesystem already
exists."
* 409 Conflict, FilesystemBeingDeleted, "The specified filesystem is being
deleted."
* 409 Conflict, InvalidDestinationPath, "The specified path, or an element
of the path, exists and its resource type is invalid for this operation."*
409 Conflict, InvalidFlushOperation, "The resource was created or modified
by the Blob Service API and cannot be written to by the Data Lake Storage
Service API."
* 409 Conflict, InvalidRenameSourcePath, "The source directory cannot be
the same as the destination directory, nor can the destination be a
subdirectory of the source directory."
* 409 Conflict, InvalidSourceOrDestinationResourceType, "The source and
destination resource type must be identical."
* 409 Conflict, LeaseAlreadyPresent, "There is already a lease present."
* 409 Conflict, LeaseIdMismatchWithLeaseOperation, "The lease ID specified
did not match the lease ID for the resource with the specified lease
operation."
* 409 Conflict, LeaseIsAlreadyBroken, "The lease has already been broken
and cannot be broken again."
* 409 Conflict, LeaseIsBreakingAndCannotBeAcquired, "The lease ID matched,
but the lease is currently in breaking state and cannot be acquired until
it is broken."
* 409 Conflict, LeaseIsBreakingAndCannotBeChanged, "The lease ID matched,
but the lease is currently in breaking state and cannot be changed."
* 409 Conflict, LeaseIsBrokenAndCannotBeRenewed, "The lease ID matched,
but the lease has been broken explicitly and cannot be renewed."
* 409 Conflict, LeaseNameMismatch, "The lease name specified did not match
the existing lease name."
* 409 Conflict, LeaseNotPresentWithLeaseOperation, "The lease ID is not
present with the specified lease operation."
* 409 Conflict, PathAlreadyExists, "The specified path already exists."
* 409 Conflict, PathConflict, "The specified path, or an element of the
path, exists and its resource type is invalid for this operation."
* 409 Conflict, SourcePathIsBeingDeleted, "The specified source path is
marked to be deleted."
* 409 Conflict, ResourceTypeMismatch, "The resource type specified in the
request does not match the type of the resource."
* 412 Precondition Failed, ConditionNotMet, "The condition specified using
HTTP conditional header(s) is not met."
* 412 Precondition Failed, LeaseIdMismatch, "The lease ID specified did
not match the lease ID for the resource."
* 412 Precondition Failed, LeaseIdMissing, "There is currently a lease on
the resource and no lease ID was specified in the request."
* 412 Precondition Failed, LeaseNotPresent, "There is currently no lease
on the resource."
* 412 Precondition Failed, LeaseLost, "A lease ID was specified, but the
lease for the resource has expired."
* 412 Precondition Failed, SourceConditionNotMet, "The source condition
specified using HTTP conditional header(s) is not met."
* 413 Request Entity Too Large, RequestBodyTooLarge, "The request body is
too large and exceeds the maximum permissible limit."
* 416 Requested Range Not Satisfiable, InvalidRange, "The range specified
is invalid for the current size of the resource."
* 500 Internal Server Error, InternalError, "The server encountered an
internal error. Please retry the request."
* 500 Internal Server Error, OperationTimedOut, "The operation could not
be completed within the permitted time."
* 503 Service Unavailable, ServerBusy, "Egress is over the account limit."
* 503 Service Unavailable, ServerBusy, "Ingress is over the account
limit."
* 503 Service Unavailable, ServerBusy, "Operations per second is over the
account limit."
* 503 Service Unavailable, ServerBusy, "The server is currently unable to
receive requests. Please retry your request."
headers:
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
schema:
$ref: '#/definitions/DataLakeStorageError'
paths:
/:
get:
operationId: microsoftAzureFilesystemList
summary: Microsoft Azure List Filesystems
description: List filesystems and their properties in given account.
x-ms-pageable:
itemName: filesystems
nextLinkName:
tags:
- Account Operations
responses:
'200':
description: OK
headers:
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
x-ms-continuation:
description: >-
If the number of filesystems to be listed exceeds the maxResults
limit, a continuation token is returned in this response
header. When a continuation token is returned in the response,
it must be specified in a subsequent invocation of the list
operation to continue listing the filesystems.
type: string
Content-Type:
description: >-
The content type of list filesystem response. The default
content type is application/json.
type: string
schema:
$ref: '#/definitions/FilesystemList'
default:
$ref: '#/responses/ErrorResponse'
parameters:
- name: resource
in: query
description: The value must be "account" for all account operations.
required: true
type: string
enum:
- account
x-ms-enum:
name: AccountResourceType
modelAsString: false
- name: prefix
in: query
description: Filters results to filesystems within the specified prefix.
required: false
type: string
- name: continuation
in: query
description: >-
The number of filesystems returned with each invocation is limited.
If the number of filesystems to be returned exceeds this limit, a
continuation token is returned in the response header
x-ms-continuation. When a continuation token is returned in the
response, it must be specified in a subsequent invocation of the
list operation to continue listing the filesystems.
required: false
type: string
- name: maxResults
in: query
description: >-
An optional value that specifies the maximum number of items to
return. If omitted or greater than 5,000, the response will include
up to 5,000 items.
format: int32
minimum: 1
required: false
type: integer
- name: x-ms-client-request-id
description: >-
A UUID recorded in the analytics logs for troubleshooting and
correlation.
in: header
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
required: false
type: string
x-ms-client-request-id: true
- name: timeout
in: query
description: >-
An optional operation timeout value in seconds. The period begins
when the request is received by the service. If the timeout value
elapses before the operation completes, the operation fails.
format: int32
minimum: 1
required: false
type: integer
- name: x-ms-date
in: header
description: >-
Specifies the Coordinated Universal Time (UTC) for the request. This is required when using shared key authorization.
required: false
type: string
- $ref: '#/parameters/Version'
/{filesystem}:
put:
operationId: microsoftAzureFilesystemCreate
summary: Microsoft Azure Create Filesystem
description: >-
Create a filesystem rooted at the specified location. If the filesystem
already exists, the operation fails. This operation does not support
conditional HTTP requests.
tags:
- Filesystem Operations
responses:
'201':
description: Created
headers:
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
ETag:
description: An HTTP entity tag associated with the filesystem.
type: string
Last-Modified:
description: >-
The data and time the filesystem was last modified. Operations
on files and directories do not affect the last modified time.
type: string
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
x-ms-namespace-enabled:
description: >-
A bool string indicates whether the namespace feature is
enabled. If "true", the namespace is enabled for the
filesystem.
type: string
default:
$ref: '#/responses/ErrorResponse'
parameters:
- name: x-ms-properties
description: >-
User-defined properties to be stored with the filesystem, in the
format of a comma-separated list of name and value pairs "n1=v1,
n2=v2, ...", where each value is a base64 encoded string. Note that
the string may only contain ASCII characters in the ISO-8859-1
character set.
in: header
required: false
type: string
patch:
operationId: microsoftAzureFilesystemSetproperties
summary: Microsoft Azure Set Filesystem Properties
description: >-
Set properties for the filesystem. This operation supports conditional
HTTP requests. For more information, see [Specifying Conditional
Headers for Blob Service
Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).
tags:
- Filesystem Operations
responses:
'200':
description: Ok
headers:
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
ETag:
description: >-
An HTTP entity tag associated with the filesystem. Changes to
filesystem properties affect the entity tag, but operations on
files and directories do not.
type: string
Last-Modified:
description: >-
The data and time the filesystem was last modified. Changes to
filesystem properties update the last modified time, but
operations on files and directories do not.
type: string
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
default:
$ref: '#/responses/ErrorResponse'
parameters:
- name: x-ms-properties
description: >-
Optional. User-defined properties to be stored with the filesystem,
in the format of a comma-separated list of name and value pairs
"n1=v1, n2=v2, ...", where each value is a base64 encoded string.
Note that the string may only contain ASCII characters in the
ISO-8859-1 character set. If the filesystem exists, any properties
not included in the list will be removed. All properties are
removed if the header is omitted. To merge new and existing
properties, first get all existing properties and the current E-Tag,
then make a conditional request with the E-Tag and include values
for all properties.
in: header
required: false
type: string
- name: If-Modified-Since
description: >-
Optional. A date and time value. Specify this header to perform the
operation only if the resource has been modified since the specified
date and time.
in: header
required: false
type: string
- name: If-Unmodified-Since
description: >-
Optional. A date and time value. Specify this header to perform the
operation only if the resource has not been modified since the
specified date and time.
in: header
required: false
type: string
get:
operationId: microsoftAzurePathList
summary: Microsoft Azure List Paths
description: List filesystem paths and their properties.
x-ms-pageable:
itemName: paths
nextLinkName:
tags:
- Filesystem Operations
responses:
'200':
description: Ok
headers:
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
ETag:
description: >-
An HTTP entity tag associated with the filesystem. Changes to
filesystem properties affect the entity tag, but operations on
files and directories do not.
type: string
Last-Modified:
description: >-
The data and time the filesystem was last modified. Changes to
filesystem properties update the last modified time, but
operations on files and directories do not.
type: string
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
x-ms-continuation:
description: >-
If the number of paths to be listed exceeds the maxResults
limit, a continuation token is returned in this response
header. When a continuation token is returned in the response,
it must be specified in a subsequent invocation of the list
operation to continue listing the paths.
type: string
schema:
$ref: '#/definitions/PathList'
default:
$ref: '#/responses/ErrorResponse'
parameters:
- name: directory
in: query
description: >-
Filters results to paths within the specified directory. An error
occurs if the directory does not exist.
required: false
type: string
- name: recursive
in: query
description: >-
If "true", all paths are listed; otherwise, only paths at the root
of the filesystem are listed. If "directory" is specified, the list
will only include paths that share the same root.
required: true
type: boolean
- name: continuation
in: query
description: >-
The number of paths returned with each invocation is limited. If the
number of paths to be returned exceeds this limit, a continuation
token is returned in the response header x-ms-continuation. When a
continuation token is returned in the response, it must be
specified in a subsequent invocation of the list operation to
continue listing the paths.
required: false
type: string
- name: maxResults
in: query
description: >-
An optional value that specifies the maximum number of items to
return. If omitted or greater than 5,000, the response will include
up to 5,000 items.
format: int32
minimum: 1
required: false
type: integer
- name: upn
in: query
description: >-
Optional. Valid only when Hierarchical Namespace is enabled for the
account. If "true", the user identity values returned in the owner
and group fields of each list entry will be transformed from Azure
Active Directory Object IDs to User Principal Names. If "false",
the values will be returned as Azure Active Directory Object IDs.
The default value is false. Note that group and application Object
IDs are not translated because they do not have unique friendly
names.
required: false
type: boolean
head:
operationId: microsoftAzureFilesystemGetproperties
summary: 'Microsoft Azure Get Filesystem Properties'
description: >-
All system and user-defined filesystem properties are specified in the
response headers.
tags:
- Filesystem Operations
responses:
'200':
description: Ok
headers:
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
ETag:
description: >-
An HTTP entity tag associated with the filesystem. Changes to
filesystem properties affect the entity tag, but operations on
files and directories do not.
type: string
Last-Modified:
description: >-
The data and time the filesystem was last modified. Changes to
filesystem properties update the last modified time, but
operations on files and directories do not.
type: string
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
x-ms-properties:
description: >-
The user-defined properties associated with the filesystem. A
comma-separated list of name and value pairs in the format
"n1=v1, n2=v2, ...", where each value is a base64 encoded
string. Note that the string may only contain ASCII characters
in the ISO-8859-1 character set.
type: string
x-ms-namespace-enabled:
description: >-
A bool string indicates whether the namespace feature is
enabled. If "true", the namespace is enabled for the
filesystem.
type: string
default:
$ref: '#/responses/ErrorResponse'
delete:
operationId: microsoftAzureFilesystemDelete
summary: Microsoft Azure Delete Filesystem
description: >-
Marks the filesystem for deletion. When a filesystem is deleted, a
filesystem with the same identifier cannot be created for at least 30
seconds. While the filesystem is being deleted, attempts to create a
filesystem with the same identifier will fail with status code 409
(Conflict), with the service returning additional error information
indicating that the filesystem is being deleted. All other operations,
including operations on any files or directories within the filesystem,
will fail with status code 404 (Not Found) while the filesystem is being
deleted. This operation supports conditional HTTP requests. For more
information, see [Specifying Conditional Headers for Blob Service
Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations).
tags:
- Filesystem Operations
responses:
'202':
description: Accepted
headers:
x-ms-request-id:
description: >-
A server-generated UUID recorded in the analytics logs for
troubleshooting and correlation.
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
type: string
x-ms-version:
description: The version of the REST protocol used to process the request.
type: string
Date:
description: >-
A UTC date/time value generated by the service that indicates
the time at which the response was initiated.
type: string
default:
$ref: '#/responses/ErrorResponse'
parameters:
- name: If-Modified-Since
description: >-
Optional. A date and time value. Specify this header to perform the
operation only if the resource has been modified since the specified
date and time.
in: header
required: false
type: string
- name: If-Unmodified-Since
description: >-
Optional. A date and time value. Specify this header to perform the
operation only if the resource has not been modified since the
specified date and time.
in: header
required: false
type: string
parameters:
- name: filesystem
in: path
description: >-
The filesystem identifier. The value must start and end with a letter
or number and must contain only letters, numbers, and the dash (-)
character. Consecutive dashes are not permitted. All letters must be
lowercase. The value must have between 3 and 63 characters.
pattern: ^[$a-z0-9](?!.*--)[-a-z0-9]{1,61}[a-z0-9]$
minLength: 3
maxLength: 63
required: true
type: string
- name: resource
in: query
description: The value must be "filesystem" for all filesystem operations.
required: true
type: string
enum:
- filesystem
x-ms-enum:
name: FilesystemResourceType
modelAsString: false
- name: x-ms-client-request-id
description: >-
A UUID recorded in the analytics logs for troubleshooting and
correlation.
in: header
pattern: ^[{(]?[0-9a-f]{8}[-]?([0-9a-f]{4}[-]?){3}[0-9a-f]{12}[)}]?$
required: false
type: string
x-ms-client-request-id: true
- name: timeout
in: query
description: >-
An optional operation timeout value in seconds. The period begins when
the request is received by the service. If the timeout value elapses
before the operation completes, the operation fails.
format: int32
minimum: 1
required: false
type: integer
- name: x-ms-date
in: header
description: >-
Specifies the Coordinated Universal Time (UTC) for the request. This
is required when using shared key authorization.
required: false
type: string
- $ref: '#/parameters/Version'
/{filesystem}/{path}:
put:
operationId: microsoftAzurePathCreate
summary: Microsoft Azure Create File | Create Directory | Rename File | Rename Directory
description: >-
Create or rename a file or directory. By default, the destination is
overwritten and if the destination already exists and has a lease the
lease is broken. This operation supports conditional HTTP requests. For more information, see [Specifying Conditional Headers for Blob
Service
Operations](https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations). To fail if the destination already exists, use a conditional request
with If-None-Match: "*".
consumes:
- application/octet-stream
tags:
- File and Directory Operations
responses:
'201':
description: The fi
# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/microsoft-azure/refs/heads/main/openapi/azure-data-lake-storage-rest-api-openapi-original.yml