---
title: "Create a volume"
method: POST
path: "/diskgroups/{DgId}/volumes"
tags: ["Volumes"]
---

# Create a volume

`POST /diskgroups/{DgId}/volumes`

## Request

- Base URL: `https://sort.veritas.com/infoscale/api/2.0`
- URL: `https://sort.veritas.com/infoscale/api/2.0/diskgroups/{DgId}/volumes`
- Auth: none declared
- TypeScript: <https://skmtc.dev/veritas/apis/veritas-infoscale-api/docs/diskgroups/:DgId/volumes/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a volume with specified parameters.

## Path parameters

- `DgId` string, required

## Query parameters

- `nodename` string

## Request body

- object
  - `Name` string, required: Name of the volume
  - `Size` string, required: Size of the volume
  - `Layout` 'concat' | 'mirror' | 'stripe' | 'mirror-stripe' | 'mirror-concat' | 'concat-mirror' | 'stripe-mirror': Layout of the volume
  - `DiskList` object[]: List of disks desired for volume creation
    - `DmName` string: Disk media name
  - `Nstripe` integer: Number of stripes/columns
  - `Stripeunit` string: Specifies the stripe unit size to use for ecoded volume or for striped plexes
  - `Nmirror` integer: Number of mirrors for mirrored layout
  - `Init` string: Specify how to initialize a new volume
  - `StorageSpecification` string: Storage specification to select certain types of disks for the allocation during volume creation like ctlr:c1 or mediatype:ssd etc.
  - `Nlog` integer: Specified number of log mirrors to be created for given logtype
  - `LogDisk` object[]: List of disks on which logs should be created
    - `DmName` string: Disk media name
  - `Loglen` integer: Specifies a log length to use for dirty-region log (DRL) subdisks for mirrored volumes
  - `Mirror` string: Specifies that volumes should be mirrored across instances of a particular disk class like array (enclr), ctlr, host, site etc.
  - `Stripe` string: Specifies that volumes should be striped across instances of a particular disk class like array (enclr), ctlr, host, site etc.
  - `MirrorConfine` string: Specifies a required list of disk classes for confining a mirror
  - `Tags` object[]: Specify the tags to be associated with the volume.
    - `TagName` string, required: Specify the tag name to be associated with the volume.
    - `TagValue` string: Optional tag value to be set for specified TagName.
  - `Require` string: Specifies a list of storage specifications for a volume allocation operation. The storage chosen must match all of the requirements specified.
  - `Use` string: Specifies a list of storage specifications for a volume allocation operation. The storage chosen must match one or more of the requirements specified.
  - `Regionsz` string: Specifies the size of each region that is tracked by a bit in the maps within a DCO volume
  - `Usetype` string: Specifies the usage type (e.g. fsgen) to use when creating a new volume
  - `Vxcloud` boolean: Specify true or false to create a cloud volume for block level tiering
  - `Fscloud` boolean: Specify true or false to create a cloud volume for file level tiering
  - `Encrypted` boolean: Specify true or false based on whether encryption is required or not
  - `Fastresync` boolean: Specify true or false based on whether fastresync is required or not

## Response `200`

The request has succeeded.

- Response
  - `detail` string: Error details.
  - `status` integer: http code

## Other responses

- `400`: Bad request
- `401`: The requested operation requires authentication.
- `403`: Forbidden
- `404`: Object that the endpoint is working on is not found.

---

[API](https://skmtc.dev/veritas/apis/veritas-infoscale-api.md) - [All operations](https://skmtc.dev/veritas/apis/veritas-infoscale-api/llms.txt) - [OpenAPI document](https://skmtc.dev/veritas/apis/veritas-infoscale-api/revisions/1e3d3f7145bb?raw)
