Skip to main content
REST API reference
A newer release of this product is available.

Create a new file with the supplied data

POST /storage/volumes/{volume.uuid}/files/{path}

Creates a new file with the supplied data, creates a new directory or creates a new symlink.

Parameters

Name Type In Required Description

volume.uuid

string

path

True

Volume UUID

path

string

path

True

Relative path of a new file, directory or symlink. The path field requires using "%2E" to represent "." and "%2F" to represent "/" for the path provided.

byte_offset

integer

query

False

How many bytes into the file to begin writing. Use -1 to append (default).

overwrite

bool

query

False

If false, and the file exists, the write will fail. Default is false.

stream_name

string

query

False

Name of stream associated with the file to write data to.

data

string

formData

False

Data to write to the file.

Request Body

Name Type Description

name

string

Name of the file.

path

string

Path of the file.

target

string

The relative or absolute path contained in a symlink, in the form /.

type

string

Type of the file.

unix_permissions

integer

UNIX permissions to be viewed as an octal number. It consists of 4 digits derived by adding up bits 4 (read), 2 (write), and 1 (execute). The first digit selects the set user ID(4), set group ID (2), and sticky (1) attributes. The second digit selects permissions for the owner of the file; the third selects permissions for other users in the same group; the fourth selects permissions for other users not in the group.

Example request
{
  "is_empty": "",
  "is_junction": "",
  "is_snapshot": "",
  "is_vm_aligned": "",
  "name": "test_file",
  "path": "d1/d2/d3",
  "target": "some_directory/some_other_directory/some_file",
  "type": "file",
  "unix_permissions": 493
}

Response

Status: 201, Created

Error

Status: Default

ONTAP Error Response Codes

Error Code Description

917505

The SVM does not exist.

917525

The volume in the symlink path does not exist in the SVM.

917698

The volume in the symlink path is not mounted in the namespace.

6488064

This command is not supported.

6488065

The volume in the symlink path is invalid.

6488066

Mounting the unjunctioned volume in the symlink path failed.

6488069

Internal file error.

8257536

This operation is not supported for the system volume specified in the symlink path.

8257541

Failed to compute the SVM identification from this content.

8257542

This operation is not supported for the administrative SVM.

9437549

This operation is not allowed on SVMs with Infinite Volume.

13172837

This operation is not permitted because the SVM is locked for a migrate operation.

Name Type Description

error

error

Example error
{
  "error": {
    "arguments": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "code": "4",
    "message": "entry doesn't exist",
    "target": "uuid"
  }
}

Definitions

See Definitions

href

Name Type Description

href

string

Name Type Description

metadata

href

self

href

Name Type Description

self

href

qos_policy

The QoS policy for the file. Both traditional and adaptive QoS policies are supported. If both qos_policy.uuid and qos_policy.name properties are specified in the same request, they must refer to the same QoS policy. To remove the file from a QoS policy, set the property qos_policy.name in a PATCH request to an empty string "" or "none".

Note Files which are in use as a LUN cannot be assigned to a QoS policy, instead use PATCH on /storage/luns to assign a QoS policy for such files.

Note that a QoS policy can be set on a file, or a file's volume, but not on both.

Name Type Description

_links

_links

name

string

The name of the QoS policy. To remove the file from a QoS policy, set this property to an empty string "" or set it to "none" in a PATCH request.

uuid

string

The unique identifier of the QoS policy. Valid in PATCH.

volume

Name Type Description

_links

_links

name

string

The name of the volume.

uuid

string

Unique identifier for the volume. This corresponds to the instance-uuid that is exposed in the CLI and ONTAPI. It does not change due to a volume move.

  • example: 028baa66-41bd-11e9-81d5-00a0986138f7

file_info

Information about a single file.

Name Type Description

name

string

Name of the file.

path

string

Path of the file.

target

string

The relative or absolute path contained in a symlink, in the form /.

type

string

Type of the file.

unix_permissions

integer

UNIX permissions to be viewed as an octal number. It consists of 4 digits derived by adding up bits 4 (read), 2 (write), and 1 (execute). The first digit selects the set user ID(4), set group ID (2), and sticky (1) attributes. The second digit selects permissions for the owner of the file; the third selects permissions for other users in the same group; the fourth selects permissions for other users not in the group.

error_arguments

Name Type Description

code

string

Argument code

message

string

Message argument

error

Name Type Description

arguments

array[error_arguments]

Message arguments

code

string

Error code

message

string

Error message

target

string

The target parameter that caused the error.