# Group Types

Group type management

## List group types

> Lists all group types

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"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":{"GroupTypes":{"type":"object","properties":{"group_types":{"type":"array","items":{"$ref":"#/components/schemas/GroupType"}}}},"GroupType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the group type","type":"string"},"name":{"description":"The name of the group type","type":"string"},"description":{"nullable":true,"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types":{"get":{"tags":["group-types"],"parameters":[{"name":"is_public","description":"Filter by public visibility","schema":{"type":"boolean"},"in":"query"},{"$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/GroupTypes"}}},"description":"OK"}},"summary":"List group types","description":"Lists all group types"}}}}
```

## Create group type

> Creates a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupTypeCreateRequest":{"type":"object","properties":{"group_type":{"required":["name"],"type":"object","properties":{"name":{"description":"The name of the group type","type":"string"},"description":{"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"GroupTypeResponse":{"type":"object","properties":{"group_type":{"$ref":"#/components/schemas/GroupType"}}},"GroupType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the group type","type":"string"},"name":{"description":"The name of the group type","type":"string"},"description":{"nullable":true,"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types":{"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeCreateRequest"}}},"required":true},"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeResponse"}}},"description":"OK"}},"summary":"Create group type","description":"Creates a group type"}}}}
```

## Show default group type

> Shows details for the default group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupTypeResponse":{"type":"object","properties":{"group_type":{"$ref":"#/components/schemas/GroupType"}}},"GroupType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the group type","type":"string"},"name":{"description":"The name of the group type","type":"string"},"description":{"nullable":true,"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types/default":{"get":{"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeResponse"}}},"description":"OK"}},"summary":"Show default group type","description":"Shows details for the default group type"}}}}
```

## Show group type details

> Shows details for a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupTypeResponse":{"type":"object","properties":{"group_type":{"$ref":"#/components/schemas/GroupType"}}},"GroupType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the group type","type":"string"},"name":{"description":"The name of the group type","type":"string"},"description":{"nullable":true,"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types/{group_type_id}":{"get":{"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeResponse"}}},"description":"OK"}},"summary":"Show group type details","description":"Shows details for a group type"}}}}
```

## Update group type

> Updates a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupTypeUpdateRequest":{"type":"object","properties":{"group_type":{"type":"object","properties":{"name":{"description":"The name of the group type","type":"string"},"description":{"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"}}}}},"GroupTypeResponse":{"type":"object","properties":{"group_type":{"$ref":"#/components/schemas/GroupType"}}},"GroupType":{"type":"object","properties":{"id":{"format":"uuid","description":"The UUID of the group type","type":"string"},"name":{"description":"The name of the group type","type":"string"},"description":{"nullable":true,"description":"The group type description","type":"string"},"is_public":{"description":"Whether the group type is publicly visible","type":"boolean"},"group_specs":{"description":"Group specifications","type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types/{group_type_id}":{"put":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeUpdateRequest"}}},"required":true},"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupTypeResponse"}}},"description":"OK"}},"summary":"Update group type","description":"Updates a group type"}}}}
```

## Delete group type

> Deletes a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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/group_types/{group_type_id}":{"delete":{"tags":["group-types"],"responses":{"202":{"$ref":"#/components/responses/Accepted"}},"summary":"Delete group type","description":"Deletes a group type"}}}}
```

## Show group type specs

> Shows all group specs assigned to a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupSpecs":{"type":"object","properties":{"group_specs":{"type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types/{group_type_id}/group_specs":{"get":{"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSpecs"}}},"description":"OK"}},"summary":"Show group type specs","description":"Shows all group specs assigned to a group type"}}}}
```

## Create or update group type specs

> Adds new group specs to a group type, or updates existing ones

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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":{"GroupSpecs":{"type":"object","properties":{"group_specs":{"type":"object","additionalProperties":{"type":"string"}}}}}},"paths":{"/v3/group_types/{group_type_id}/group_specs":{"post":{"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSpecs"}}},"required":true},"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GroupSpecs"}}},"description":"OK"}},"summary":"Create or update group type specs","description":"Adds new group specs to a group type, or updates existing ones"}}}}
```

## Show group type spec

> Shows the specific group spec assigned to a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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/group_types/{group_type_id}/group_specs/{key}":{"get":{"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Show group type spec","description":"Shows the specific group spec assigned to a group type"}}}}
```

## Update group type spec

> Update the specific group spec assigned to a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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/group_types/{group_type_id}/group_specs/{key}":{"put":{"requestBody":{"content":{"application/json":{"schema":{"type":"object"}}},"required":true},"tags":["group-types"],"responses":{"200":{"content":{"application/json":{"schema":{"type":"object"}}},"description":"OK"}},"summary":"Update group type spec","description":"Update the specific group spec assigned to a group type"}}}}
```

## Delete group type spec

> Deletes the specific group spec assigned to a group type

```json
{"openapi":"3.0.3","info":{"title":"OpenStack Block Storage API (Cinder)","version":"3.71"},"tags":[{"name":"group-types","description":"Group 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/group_types/{group_type_id}/group_specs/{key}":{"delete":{"tags":["group-types"],"responses":{"202":{"$ref":"#/components/responses/Accepted"}},"summary":"Delete group type spec","description":"Deletes the specific group spec assigned to a group type"}}}}
```
