# Types

Volume type management

## List volume types

> Lists volume types

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"parameters":{"IsPublicQuery":{"name":"is_public","description":"Filter the volume type by public visibility","schema":{"type":"boolean"},"in":"query"},"SortQuery":{"name":"sort","description":"Comma-separated list of sort keys and optional sort directions","schema":{"type":"string"},"in":"query"},"SortKeyQuery":{"name":"sort_key","description":"Sorts by an attribute","schema":{"type":"string"},"in":"query"},"SortDirQuery":{"name":"sort_dir","description":"Sorts by direction (asc or desc)","schema":{"enum":["asc","desc"],"type":"string"},"in":"query"},"LimitQuery":{"name":"limit","description":"Requests a page size of items","schema":{"minimum":1,"type":"integer"},"in":"query"},"OffsetQuery":{"name":"offset","description":"Used in conjunction with limit to return items starting from the offset position","schema":{"minimum":0,"type":"integer"},"in":"query"},"MarkerQuery":{"name":"marker","description":"The ID of the last-seen item","schema":{"type":"string"},"in":"query"}},"schemas":{"VolumeTypes":{"type":"object","properties":{"volume_types":{"type":"array","items":{"$ref":"#/components/schemas/VolumeType"}}}},"VolumeType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the volume type","type":"string"},"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}},"qos_specs_id":{"nullable":true,"format":"uuid","description":"The QoS specifications ID","type":"string"}}}}},"paths":{"/v3/types":{"get":{"tags":["types"],"parameters":[{"$ref":"#/components/parameters/IsPublicQuery"},{"$ref":"#/components/parameters/SortQuery"},{"$ref":"#/components/parameters/SortKeyQuery"},{"$ref":"#/components/parameters/SortDirQuery"},{"$ref":"#/components/parameters/LimitQuery"},{"$ref":"#/components/parameters/OffsetQuery"},{"$ref":"#/components/parameters/MarkerQuery"}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypes"}}},"description":"OK"}},"summary":"List volume types","description":"Lists volume types"}}}}
```

## Create volume type

> Creates a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"VolumeTypeCreateRequest":{"type":"object","properties":{"volume_type":{"required":["name"],"type":"object","properties":{"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}}}}}},"VolumeTypeResponse":{"type":"object","properties":{"volume_type":{"$ref":"#/components/schemas/VolumeType"}}},"VolumeType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the volume type","type":"string"},"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}},"qos_specs_id":{"nullable":true,"format":"uuid","description":"The QoS specifications ID","type":"string"}}}}},"paths":{"/v3/types":{"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeCreateRequest"}}},"required":true},"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeResponse"}}},"description":"OK"}},"summary":"Create volume type","description":"Creates a volume type"}}}}
```

## Show default volume type

> Shows details for the default volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"VolumeTypeResponse":{"type":"object","properties":{"volume_type":{"$ref":"#/components/schemas/VolumeType"}}},"VolumeType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the volume type","type":"string"},"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}},"qos_specs_id":{"nullable":true,"format":"uuid","description":"The QoS specifications ID","type":"string"}}}},"responses":{"NotFound":{"description":"The requested resource could not be found"},"InternalServerError":{"description":"Something went wrong with the service which prevents it from fulfilling the request"}}},"paths":{"/v3/types/default":{"get":{"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeResponse"}}},"description":"OK"},"404":{"$ref":"#/components/responses/NotFound"},"500":{"$ref":"#/components/responses/InternalServerError"}},"summary":"Show default volume type","description":"Shows details for the default volume type"}}}}
```

## Show volume type details

> Shows details for a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"VolumeTypeResponse":{"type":"object","properties":{"volume_type":{"$ref":"#/components/schemas/VolumeType"}}},"VolumeType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the volume type","type":"string"},"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}},"qos_specs_id":{"nullable":true,"format":"uuid","description":"The QoS specifications ID","type":"string"}}}}},"paths":{"/v3/types/{volume_type_id}":{"get":{"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeResponse"}}},"description":"OK"}},"summary":"Show volume type details","description":"Shows details for a volume type"}}}}
```

## Update volume type

> Updates a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"VolumeTypeUpdateRequest":{"type":"object","properties":{"volume_type":{"type":"object","properties":{"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"}}}}},"VolumeTypeResponse":{"type":"object","properties":{"volume_type":{"$ref":"#/components/schemas/VolumeType"}}},"VolumeType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the volume type","type":"string"},"name":{"description":"The name of the volume type","type":"string"},"description":{"description":"The volume type description","type":"string"},"is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"os-volume-type-access:is_public":{"description":"Whether the volume type is publicly visible","type":"boolean"},"extra_specs":{"description":"Additional specifications for the volume type","type":"object","additionalProperties":{"type":"string"}},"qos_specs_id":{"nullable":true,"format":"uuid","description":"The QoS specifications ID","type":"string"}}}}},"paths":{"/v3/types/{volume_type_id}":{"put":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeUpdateRequest"}}},"required":true},"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeResponse"}}},"description":"OK"}},"summary":"Update volume type","description":"Updates a volume type"}}}}
```

## Delete volume type

> Deletes a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"responses":{"Accepted":{"description":"Request is accepted, but processing may take some time"}}},"paths":{"/v3/types/{volume_type_id}":{"delete":{"tags":["types"],"responses":{"202":{"$ref":"#/components/responses/Accepted"}},"summary":"Delete volume type","description":"Deletes a volume type"}}}}
```

## Show volume type extra specs

> Shows all extra specifications assigned to a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"ExtraSpecs":{"type":"object","properties":{"extra_specs":{"type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/types/{volume_type_id}/extra_specs":{"get":{"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraSpecs"}}},"description":"OK"}},"summary":"Show volume type extra specs","description":"Shows all extra specifications assigned to a volume type"}}}}
```

## Create or update volume type extra specs

> Adds new extra specifications to a volume type, or updates existing ones

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"ExtraSpecs":{"type":"object","properties":{"extra_specs":{"type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/types/{volume_type_id}/extra_specs":{"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraSpecs"}}},"required":true},"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtraSpecs"}}},"description":"OK"}},"summary":"Create or update volume type extra specs","description":"Adds new extra specifications to a volume type, or updates existing ones"}}}}
```

## Show volume type extra spec

> Shows the specific extra specification assigned to a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}}},"paths":{"/v3/types/{volume_type_id}/extra_specs/{key}":{"get":{"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Show volume type extra spec","description":"Shows the specific extra specification assigned to a volume type"}}}}
```

## Update volume type extra spec

> Update the specific extra specification assigned to a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}}},"paths":{"/v3/types/{volume_type_id}/extra_specs/{key}":{"put":{"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":true},"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Update volume type extra spec","description":"Update the specific extra specification assigned to a volume type"}}}}
```

## Delete volume type extra spec

> Deletes the specific extra specification assigned to a volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"responses":{"Accepted":{"description":"Request is accepted, but processing may take some time"}}},"paths":{"/v3/types/{volume_type_id}/extra_specs/{key}":{"delete":{"tags":["types"],"responses":{"202":{"$ref":"#/components/responses/Accepted"}},"summary":"Delete volume type extra spec","description":"Deletes the specific extra specification assigned to a volume type"}}}}
```

## Add or remove volume type access

> Adds or removes private volume type access to/from a project

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"AddProjectAccessRequest":{"type":"object","properties":{"addProjectAccess":{"required":["project"],"type":"object","properties":{"project":{"description":"The ID of the project","type":"string"}}}}},"RemoveProjectAccessRequest":{"type":"object","properties":{"removeProjectAccess":{"required":["project"],"type":"object","properties":{"project":{"description":"The ID of the project","type":"string"}}}}}},"responses":{"Accepted":{"description":"Request is accepted, but processing may take some time"}}},"paths":{"/v3/types/{volume_type}/action":{"post":{"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/AddProjectAccessRequest"},{"$ref":"#/components/schemas/RemoveProjectAccessRequest"}]}}},"required":true},"tags":["types"],"responses":{"202":{"$ref":"#/components/responses/Accepted"}},"summary":"Add or remove volume type access","description":"Adds or removes private volume type access to/from a project"}}}}
```

## List volume type access

> Lists project IDs that have access to private volume type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"types","description":"Volume type management"}],"servers":[{"url":"https://{host}/cinder","description":"PCD Block Storage API v3","variables":{"host":{"default":"example.platform9.com","description":"The PCD controlplane hostname"}}}],"security":[{"pcdAuth":[]}],"components":{"securitySchemes":{"pcdAuth":{"name":"X-Auth-Token","type":"apiKey","in":"header","description":"PCD Identity Service token authentication"}},"schemas":{"VolumeTypeAccess":{"type":"object","properties":{"volume_type_access":{"type":"array","items":{"type":"object","properties":{"project_id":{"format":"uuid","description":"The UUID of the project","type":"string"},"volume_type_id":{"format":"uuid","description":"The UUID of the volume type","type":"string"}}}}}}}},"paths":{"/v3/types/{volume_type}/os-volume-type-access":{"get":{"tags":["types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VolumeTypeAccess"}}},"description":"OK"}},"summary":"List volume type access","description":"Lists project IDs that have access to private volume type"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform9.com/api-docs/block-storage-service/types.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
