# Models

## The Error object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Error":{"description":"The Error object is used to represent an error response from the API.\n","type":"object","properties":{"httpStatus":{"type":"integer","description":"The HTTP status code of the operation."},"messages":{"type":"array","description":"A list of error messages.\n","items":{"type":"object","properties":{"errorCode":{"type":"string","description":"Application internal error code\n"},"message":{"type":"string","description":"A human readable explanation specific to this occurrence of the\nproblem.\n"}}}}}}}}}
```

## The ApiErrorMessage object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ApiErrorMessage":{"required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string"},"message":{"type":"string"}}}}}}
```

## The ApiErrorResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ApiErrorResponse":{"required":["httpStatus","messages"],"type":"object","properties":{"httpStatus":{"type":"integer"},"messages":{"type":"array","items":{"$ref":"#/components/schemas/ApiErrorMessage"},"nullable":true}}},"ApiErrorMessage":{"required":["errorCode","message"],"type":"object","properties":{"errorCode":{"type":"string"},"message":{"type":"string"}}}}}}
```

## The ApiResourceMetadata object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true}}}}
```

## The Credentials object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true}}}}
```

## The Day object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"}}}}
```

## The Digest object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Digest":{"type":"string","description":"The digest of the artifact"}}}}
```

## The Feature object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}}}}}
```

## The FeatureVulnerabilityScanning object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}}}}}
```

## The Location object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Location":{"type":"object","properties":{"id":{"type":"string"}}}}}}
```

## The LocationsResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"LocationsResponse":{"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/Location"},"nullable":true},"type":{"type":"string"}}},"Location":{"type":"object","properties":{"id":{"type":"string"}}}}}}
```

## The RegistryPagination object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistryPagination":{"required":["limit","token"],"type":"object","properties":{"limit":{"type":"integer","description":"The maximum number of elements to return (used together with pagination.token for pagination)"},"token":{"type":"string","description":"An opaque token used to iterate the set of results (used together with limit for pagination)"}}}}}}
```

## The PaginationLinks object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PaginationLinks":{"required":["next","self","previous"],"type":"object","properties":{"next":{"type":"string"},"previous":{"type":"string"},"self":{"type":"string"}}}}}}
```

## The PatchRegistryInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PatchRegistryInput":{"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}}},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PatchTokenInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PatchTokenInput":{"type":"object","properties":{"expiryDate":{"type":"string","format":"date-time","nullable":true},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}}},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The PostRegistryInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostRegistryInput":{"required":["properties"],"type":"object","properties":{"properties":{"$ref":"#/components/schemas/PostRegistryProperties"}}},"PostRegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}}},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PostRegistryOutput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostRegistryOutput":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/RegistryProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"RegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"hostname":{"type":"string"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"storageUsage":{"$ref":"#/components/schemas/StorageUsage"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}},"nullable":true},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PostRegistryProperties object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostRegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}}},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PostTokenInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostTokenInput":{"required":["properties"],"type":"object","properties":{"properties":{"$ref":"#/components/schemas/PostTokenProperties"}}},"PostTokenProperties":{"required":["name"],"type":"object","properties":{"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}}},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The PostTokenOutput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostTokenOutput":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/TokenProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"TokenProperties":{"required":["name","credentials"],"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/Credentials"},"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}},"nullable":true},"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The PostTokenProperties object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PostTokenProperties":{"required":["name"],"type":"object","properties":{"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}}},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The PutRegistryInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PutRegistryInput":{"required":["properties"],"type":"object","properties":{"properties":{"$ref":"#/components/schemas/PostRegistryProperties"}}},"PostRegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}}},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PutRegistryOutput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PutRegistryOutput":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/RegistryProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"RegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"hostname":{"type":"string"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"storageUsage":{"$ref":"#/components/schemas/StorageUsage"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}},"nullable":true},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The PutTokenInput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PutTokenInput":{"required":["properties"],"type":"object","properties":{"properties":{"$ref":"#/components/schemas/PostTokenProperties"}}},"PostTokenProperties":{"required":["name"],"type":"object","properties":{"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}}},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The PutTokenOutput object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"PutTokenOutput":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/TokenProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"TokenProperties":{"required":["name","credentials"],"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/Credentials"},"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}},"nullable":true},"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The RegistryFeatures object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}}}}}
```

## The RegistryArtifactsReadList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistryArtifactsReadList":{"required":["id","type","href","offset","limit","_links"],"type":"object","properties":{"id":{"type":"string","enum":["artifacts"]},"type":{"type":"string","enum":["collection"]},"href":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ArtifactRead"}},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"ArtifactRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/Digest"},"type":{"type":"string","enum":["artifact"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ArtifactMetadata"},"properties":{"$ref":"#/components/schemas/Artifact"}}},"Digest":{"type":"string","description":"The digest of the artifact"},"ArtifactMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["lastPushedAt","pushCount","pullCount"],"type":"object","properties":{"lastPushedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pushed"},"lastPulledAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pulled"},"lastScannedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last scanned"},"pushCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pushed"},"pullCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pulled"},"vulnMaxSeverity":{"description":"The maximum vulnerability severity of the artifact, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]},"vulnTotalScore":{"type":"number","format":"float","description":"The total CVSS score of all vulnerabilities of the artifact"},"vulnTotalCount":{"type":"integer","format":"int64","description":"The total number of vulnerabilities of the artifact"},"vulnFixableCount":{"type":"integer","format":"int64","description":"The number of fixable vulnerabilities of the artifact"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Artifact":{"required":["repositoryName","digest","mediaType"],"type":"object","properties":{"repositoryName":{"type":"string"},"digest":{"$ref":"#/components/schemas/Digest"},"tags":{"$ref":"#/components/schemas/Tags"},"mediaType":{"type":"string","description":"The media type of the artifact"}}},"Tags":{"type":"array","items":{"type":"string"},"description":"The tags of an artifact"},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The RegistriesResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistriesResponse":{"required":["pagination","_links"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/PaginationLinks"},"href":{"type":"string"},"id":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/RegistryResponse"},"nullable":true},"pagination":{"$ref":"#/components/schemas/RegistryPagination"},"type":{"type":"string"}}},"PaginationLinks":{"required":["next","self","previous"],"type":"object","properties":{"next":{"type":"string"},"previous":{"type":"string"},"self":{"type":"string"}}},"RegistryResponse":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/RegistryProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"RegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"hostname":{"type":"string"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"storageUsage":{"$ref":"#/components/schemas/StorageUsage"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}},"nullable":true},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true},"RegistryPagination":{"required":["limit","token"],"type":"object","properties":{"limit":{"type":"integer","description":"The maximum number of elements to return (used together with pagination.token for pagination)"},"token":{"type":"string","description":"An opaque token used to iterate the set of results (used together with limit for pagination)"}}}}}}
```

## The RegistryProperties object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"hostname":{"type":"string"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"storageUsage":{"$ref":"#/components/schemas/StorageUsage"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}},"nullable":true},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The RegistryResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RegistryResponse":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/RegistryProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"RegistryProperties":{"required":["name","location"],"type":"object","properties":{"garbageCollectionSchedule":{"$ref":"#/components/schemas/WeeklySchedule"},"hostname":{"type":"string"},"location":{"type":"string"},"name":{"pattern":"^[a-z][-a-z0-9]{1,61}[a-z0-9]$","type":"string"},"storageUsage":{"$ref":"#/components/schemas/StorageUsage"},"features":{"$ref":"#/components/schemas/RegistryFeatures"},"apiSubnetAllowList":{"$ref":"#/components/schemas/APISubnetAllowList"}},"nullable":true},"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"},"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true},"RegistryFeatures":{"type":"object","properties":{"vulnerabilityScanning":{"$ref":"#/components/schemas/FeatureVulnerabilityScanning"}},"description":"Optional registry features.  __Note__: some may incur additional charges - see individual feature descriptions for details"},"FeatureVulnerabilityScanning":{"description":"Vulnerability scanning for images.  __Note__: this is a paid add-on","allOf":[{"$ref":"#/components/schemas/Feature"}]},"Feature":{"type":"object","description":"An optional registry feature","required":["enabled"],"properties":{"enabled":{"type":"boolean","default":true},"properties":{"type":"object"}}},"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The RepositoryReadList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RepositoryReadList":{"required":["id","type","href","offset","limit","_links"],"type":"object","properties":{"id":{"type":"string","enum":["repositories"]},"type":{"type":"string","enum":["collection"]},"href":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/RepositoryRead"}},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"RepositoryRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["repository"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/RepositoryMetadata"},"properties":{"$ref":"#/components/schemas/Repository"}}},"RepositoryMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["artifactCount","pullCount","pushCount"],"type":"object","properties":{"artifactCount":{"type":"integer","format":"int64"},"pullCount":{"type":"integer","format":"int64"},"pushCount":{"type":"integer","format":"int64"},"lastPulledAt":{"type":"string","format":"date-time"},"lastPushedAt":{"type":"string","format":"date-time"},"lastSeverity":{"description":"The maximum vulnerability severity of the artifact last pushed in the repository, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Repository":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The RepositoryRead object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RepositoryRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string","enum":["repository"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/RepositoryMetadata"},"properties":{"$ref":"#/components/schemas/Repository"}}},"RepositoryMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["artifactCount","pullCount","pushCount"],"type":"object","properties":{"artifactCount":{"type":"integer","format":"int64"},"pullCount":{"type":"integer","format":"int64"},"pushCount":{"type":"integer","format":"int64"},"lastPulledAt":{"type":"string","format":"date-time"},"lastPushedAt":{"type":"string","format":"date-time"},"lastSeverity":{"description":"The maximum vulnerability severity of the artifact last pushed in the repository, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Repository":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}}}}}
```

## The RepositoryMetadata object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"RepositoryMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["artifactCount","pullCount","pushCount"],"type":"object","properties":{"artifactCount":{"type":"integer","format":"int64"},"pullCount":{"type":"integer","format":"int64"},"pushCount":{"type":"integer","format":"int64"},"lastPulledAt":{"type":"string","format":"date-time"},"lastPushedAt":{"type":"string","format":"date-time"},"lastSeverity":{"description":"The maximum vulnerability severity of the artifact last pushed in the repository, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"}}}}
```

## The Repository object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Repository":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}}}}}
```

## The Artifact object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Artifact":{"required":["repositoryName","digest","mediaType"],"type":"object","properties":{"repositoryName":{"type":"string"},"digest":{"$ref":"#/components/schemas/Digest"},"tags":{"$ref":"#/components/schemas/Tags"},"mediaType":{"type":"string","description":"The media type of the artifact"}}},"Digest":{"type":"string","description":"The digest of the artifact"},"Tags":{"type":"array","items":{"type":"string"},"description":"The tags of an artifact"}}}}
```

## The ArtifactMetadata object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ArtifactMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["lastPushedAt","pushCount","pullCount"],"type":"object","properties":{"lastPushedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pushed"},"lastPulledAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pulled"},"lastScannedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last scanned"},"pushCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pushed"},"pullCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pulled"},"vulnMaxSeverity":{"description":"The maximum vulnerability severity of the artifact, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]},"vulnTotalScore":{"type":"number","format":"float","description":"The total CVSS score of all vulnerabilities of the artifact"},"vulnTotalCount":{"type":"integer","format":"int64","description":"The total number of vulnerabilities of the artifact"},"vulnFixableCount":{"type":"integer","format":"int64","description":"The number of fixable vulnerabilities of the artifact"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"}}}}
```

## The ArtifactReadList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ArtifactReadList":{"required":["id","type","href","offset","limit","_links"],"type":"object","properties":{"id":{"type":"string","enum":["artifacts"]},"type":{"type":"string","enum":["collection"]},"href":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ArtifactRead"}},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"ArtifactRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/Digest"},"type":{"type":"string","enum":["artifact"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ArtifactMetadata"},"properties":{"$ref":"#/components/schemas/Artifact"}}},"Digest":{"type":"string","description":"The digest of the artifact"},"ArtifactMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["lastPushedAt","pushCount","pullCount"],"type":"object","properties":{"lastPushedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pushed"},"lastPulledAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pulled"},"lastScannedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last scanned"},"pushCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pushed"},"pullCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pulled"},"vulnMaxSeverity":{"description":"The maximum vulnerability severity of the artifact, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]},"vulnTotalScore":{"type":"number","format":"float","description":"The total CVSS score of all vulnerabilities of the artifact"},"vulnTotalCount":{"type":"integer","format":"int64","description":"The total number of vulnerabilities of the artifact"},"vulnFixableCount":{"type":"integer","format":"int64","description":"The number of fixable vulnerabilities of the artifact"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Artifact":{"required":["repositoryName","digest","mediaType"],"type":"object","properties":{"repositoryName":{"type":"string"},"digest":{"$ref":"#/components/schemas/Digest"},"tags":{"$ref":"#/components/schemas/Tags"},"mediaType":{"type":"string","description":"The media type of the artifact"}}},"Tags":{"type":"array","items":{"type":"string"},"description":"The tags of an artifact"},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The ArtifactRead object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ArtifactRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/Digest"},"type":{"type":"string","enum":["artifact"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/ArtifactMetadata"},"properties":{"$ref":"#/components/schemas/Artifact"}}},"Digest":{"type":"string","description":"The digest of the artifact"},"ArtifactMetadata":{"allOf":[{"$ref":"#/components/schemas/Metadata"},{"required":["lastPushedAt","pushCount","pullCount"],"type":"object","properties":{"lastPushedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pushed"},"lastPulledAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last pulled"},"lastScannedAt":{"type":"string","format":"date-time","description":"The date and time the artifact was last scanned"},"pushCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pushed"},"pullCount":{"type":"integer","format":"int64","description":"The number of times the artifact was pulled"},"vulnMaxSeverity":{"description":"The maximum vulnerability severity of the artifact, if any","allOf":[{"$ref":"#/components/schemas/VulnerabilitySeverity"}]},"vulnTotalScore":{"type":"number","format":"float","description":"The total CVSS score of all vulnerabilities of the artifact"},"vulnTotalCount":{"type":"integer","format":"int64","description":"The total number of vulnerabilities of the artifact"},"vulnFixableCount":{"type":"integer","format":"int64","description":"The number of fixable vulnerabilities of the artifact"}}}]},"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Artifact":{"required":["repositoryName","digest","mediaType"],"type":"object","properties":{"repositoryName":{"type":"string"},"digest":{"$ref":"#/components/schemas/Digest"},"tags":{"$ref":"#/components/schemas/Tags"},"mediaType":{"type":"string","description":"The media type of the artifact"}}},"Tags":{"type":"array","items":{"type":"string"},"description":"The tags of an artifact"}}}}
```

## The Purl object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Purl":{"required":["type","name","version"],"type":"object","properties":{"type":{"type":"string","description":"The affected package type"},"name":{"type":"string","description":"The affected package name"},"version":{"type":"string","description":"The affected package version"}}}}}}
```

## The VulnerabilityId object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"VulnerabilityId":{"type":"string","description":"The ID of the vulnerability allocated by the advisory database"}}}}
```

## The Vulnerability object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Vulnerability":{"required":["description","dataSource","fixable","severity","score","affects"],"type":"object","properties":{"description":{"type":"string","description":"A description of the vulnerability as provided by the source."},"recommendations":{"type":"string","description":"Recommendations for the vulnerability as provided by the source."},"dataSource":{"type":"object","description":"The source that published the vulnerability.","properties":{"id":{"type":"string","description":"The id of the source."},"url":{"type":"string","description":"The URL of the source."}}},"fixable":{"type":"boolean","description":"Indicates whether the vulnerability can be fixed by updating the affected package."},"affects":{"type":"array","items":{"$ref":"#/components/schemas/Purl"}},"references":{"type":"array","description":"Published advisories of the vulnerability if provided.","items":{"type":"string","description":"Location where the advisory can be obtained."}},"severity":{"$ref":"#/components/schemas/VulnerabilitySeverity"},"score":{"type":"number","format":"float","description":"The CVSS score of the vulnerability"}}},"Purl":{"required":["type","name","version"],"type":"object","properties":{"type":{"type":"string","description":"The affected package type"},"name":{"type":"string","description":"The affected package name"},"version":{"type":"string","description":"The affected package version"}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"}}}}
```

## The VulnerabilityMetadata object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"VulnerabilityMetadata":{"required":["publishedAt"],"type":"object","properties":{"publishedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was published"},"updatedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was last updated"}}}}}}
```

## The VulnerabilityRead object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"VulnerabilityRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/VulnerabilityId"},"type":{"type":"string","enum":["vulnerability"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/VulnerabilityMetadata"},"properties":{"$ref":"#/components/schemas/Vulnerability"}}},"VulnerabilityId":{"type":"string","description":"The ID of the vulnerability allocated by the advisory database"},"VulnerabilityMetadata":{"required":["publishedAt"],"type":"object","properties":{"publishedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was published"},"updatedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was last updated"}}},"Vulnerability":{"required":["description","dataSource","fixable","severity","score","affects"],"type":"object","properties":{"description":{"type":"string","description":"A description of the vulnerability as provided by the source."},"recommendations":{"type":"string","description":"Recommendations for the vulnerability as provided by the source."},"dataSource":{"type":"object","description":"The source that published the vulnerability.","properties":{"id":{"type":"string","description":"The id of the source."},"url":{"type":"string","description":"The URL of the source."}}},"fixable":{"type":"boolean","description":"Indicates whether the vulnerability can be fixed by updating the affected package."},"affects":{"type":"array","items":{"$ref":"#/components/schemas/Purl"}},"references":{"type":"array","description":"Published advisories of the vulnerability if provided.","items":{"type":"string","description":"Location where the advisory can be obtained."}},"severity":{"$ref":"#/components/schemas/VulnerabilitySeverity"},"score":{"type":"number","format":"float","description":"The CVSS score of the vulnerability"}}},"Purl":{"required":["type","name","version"],"type":"object","properties":{"type":{"type":"string","description":"The affected package type"},"name":{"type":"string","description":"The affected package name"},"version":{"type":"string","description":"The affected package version"}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"}}}}
```

## The ArtifactVulnerabilityReadList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"ArtifactVulnerabilityReadList":{"required":["id","type","href","offset","limit","_links"],"type":"object","properties":{"id":{"type":"string","enum":["vulnerabilities"]},"type":{"type":"string","enum":["collection"]},"href":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/VulnerabilityRead"}},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"VulnerabilityRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/VulnerabilityId"},"type":{"type":"string","enum":["vulnerability"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/VulnerabilityMetadata"},"properties":{"$ref":"#/components/schemas/Vulnerability"}}},"VulnerabilityId":{"type":"string","description":"The ID of the vulnerability allocated by the advisory database"},"VulnerabilityMetadata":{"required":["publishedAt"],"type":"object","properties":{"publishedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was published"},"updatedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was last updated"}}},"Vulnerability":{"required":["description","dataSource","fixable","severity","score","affects"],"type":"object","properties":{"description":{"type":"string","description":"A description of the vulnerability as provided by the source."},"recommendations":{"type":"string","description":"Recommendations for the vulnerability as provided by the source."},"dataSource":{"type":"object","description":"The source that published the vulnerability.","properties":{"id":{"type":"string","description":"The id of the source."},"url":{"type":"string","description":"The URL of the source."}}},"fixable":{"type":"boolean","description":"Indicates whether the vulnerability can be fixed by updating the affected package."},"affects":{"type":"array","items":{"$ref":"#/components/schemas/Purl"}},"references":{"type":"array","description":"Published advisories of the vulnerability if provided.","items":{"type":"string","description":"Location where the advisory can be obtained."}},"severity":{"$ref":"#/components/schemas/VulnerabilitySeverity"},"score":{"type":"number","format":"float","description":"The CVSS score of the vulnerability"}}},"Purl":{"required":["type","name","version"],"type":"object","properties":{"type":{"type":"string","description":"The affected package type"},"name":{"type":"string","description":"The affected package name"},"version":{"type":"string","description":"The affected package version"}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The VulnerabilityReadList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"VulnerabilityReadList":{"required":["id","type","href","offset","limit","_links"],"type":"object","properties":{"id":{"type":"string","enum":["vulnerabilities"]},"type":{"type":"string","enum":["collection"]},"href":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/VulnerabilityRead"}},"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"VulnerabilityRead":{"required":["id","type","href","metadata","properties"],"type":"object","properties":{"id":{"$ref":"#/components/schemas/VulnerabilityId"},"type":{"type":"string","enum":["vulnerability"]},"href":{"type":"string"},"metadata":{"$ref":"#/components/schemas/VulnerabilityMetadata"},"properties":{"$ref":"#/components/schemas/Vulnerability"}}},"VulnerabilityId":{"type":"string","description":"The ID of the vulnerability allocated by the advisory database"},"VulnerabilityMetadata":{"required":["publishedAt"],"type":"object","properties":{"publishedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was published"},"updatedAt":{"type":"string","format":"date-time","description":"The date and time the vulnerability was last updated"}}},"Vulnerability":{"required":["description","dataSource","fixable","severity","score","affects"],"type":"object","properties":{"description":{"type":"string","description":"A description of the vulnerability as provided by the source."},"recommendations":{"type":"string","description":"Recommendations for the vulnerability as provided by the source."},"dataSource":{"type":"object","description":"The source that published the vulnerability.","properties":{"id":{"type":"string","description":"The id of the source."},"url":{"type":"string","description":"The URL of the source."}}},"fixable":{"type":"boolean","description":"Indicates whether the vulnerability can be fixed by updating the affected package."},"affects":{"type":"array","items":{"$ref":"#/components/schemas/Purl"}},"references":{"type":"array","description":"Published advisories of the vulnerability if provided.","items":{"type":"string","description":"Location where the advisory can be obtained."}},"severity":{"$ref":"#/components/schemas/VulnerabilitySeverity"},"score":{"type":"number","format":"float","description":"The CVSS score of the vulnerability"}}},"Purl":{"required":["type","name","version"],"type":"object","properties":{"type":{"type":"string","description":"The affected package type"},"name":{"type":"string","description":"The affected package name"},"version":{"type":"string","description":"The affected package version"}}},"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The Scope object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The StorageUsage object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"StorageUsage":{"required":["bytes"],"type":"object","properties":{"bytes":{"type":"integer","nullable":true,"format":"int64"},"updatedAt":{"type":"string","format":"date-time","nullable":true}},"nullable":true}}}}
```

## The Tags object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Tags":{"type":"array","items":{"type":"string"},"description":"The tags of an artifact"}}}}
```

## The TokenProperties object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"TokenProperties":{"required":["name","credentials"],"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/Credentials"},"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}},"nullable":true},"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The TokenResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"TokenResponse":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/TokenProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"TokenProperties":{"required":["name","credentials"],"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/Credentials"},"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}},"nullable":true},"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The TokensResponse object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"TokensResponse":{"required":["limit","offset","count","total","_links"],"type":"object","properties":{"_links":{"$ref":"#/components/schemas/PaginationLinks"},"count":{"type":"integer"},"href":{"type":"string"},"id":{"type":"string"},"items":{"type":"array","items":{"$ref":"#/components/schemas/TokenResponse"},"nullable":true},"limit":{"type":"integer"},"offset":{"type":"integer"},"total":{"type":"integer"},"type":{"type":"string"}}},"PaginationLinks":{"required":["next","self","previous"],"type":"object","properties":{"next":{"type":"string"},"previous":{"type":"string"},"self":{"type":"string"}}},"TokenResponse":{"required":["metadata","properties"],"type":"object","properties":{"href":{"type":"string"},"id":{"type":"string","format":"uuid"},"metadata":{"$ref":"#/components/schemas/ApiResourceMetadata"},"properties":{"$ref":"#/components/schemas/TokenProperties"},"type":{"type":"string"}}},"ApiResourceMetadata":{"title":"Metadata","required":["createdBy","createdByUserId","createdDate","state"],"type":"object","properties":{"createdBy":{"type":"string"},"createdByUserId":{"type":"string"},"createdDate":{"type":"string","format":"date-time"},"lastModifiedBy":{"type":"string"},"lastModifiedByUserId":{"type":"string"},"lastModifiedDate":{"type":"string","format":"date-time","nullable":true},"state":{"type":"string"}},"nullable":true},"TokenProperties":{"required":["name","credentials"],"type":"object","properties":{"credentials":{"$ref":"#/components/schemas/Credentials"},"expiryDate":{"type":"string","format":"date-time","nullable":true},"name":{"minLength":1,"pattern":"^[A-Za-z][-A-Za-z0-9]{0,61}[A-Za-z0-9]$","type":"string"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/Scope"},"nullable":true},"status":{"enum":["enabled","disabled"],"type":"string"}},"nullable":true},"Credentials":{"required":["username","password"],"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"nullable":true},"Scope":{"required":["actions","name","type"],"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"},"nullable":true},"name":{"type":"string"},"type":{"type":"string"}}}}}}
```

## The VulnerabilitySeverity object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"VulnerabilitySeverity":{"type":"string","description":"The CVSS vulnerability severity rating"}}}}
```

## The WeeklySchedule object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"WeeklySchedule":{"required":["days","time"],"type":"object","properties":{"days":{"type":"array","items":{"$ref":"#/components/schemas/Day"},"nullable":true},"time":{"type":"string","description":"UTC time of day e.g. 01:00:00 - as defined by partial-time - RFC3339","format":"time"}},"nullable":true},"Day":{"enum":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],"type":"string"}}}}
```

## The APISubnetAllowList object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"APISubnetAllowList":{"type":"array","description":"Subnets and IPs that are allowed to access the registry API, supports IPv4 and IPv6.\nMaximum of 25 items may be specified.\nIf no CIDR is given /32 and /128 are assumed for IPv4 and IPv6 respectively.\n0.0.0.0/0 can be used to deny all traffic.\n__Note__: If this list is empty or not set, there are no restrictions.\n","items":{"type":"string","pattern":"(^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(/([0-9]|[1-2][0-9]|3[0-2]))?$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))(/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8]))?$)"},"minItems":0,"maxItems":25,"nullable":true}}}}
```

## The Pagination object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Pagination":{"required":["offset","limit","_links"],"description":"Pagination information. The offset and limit parameters are used to\nnavigate the list of elements. The _links object contains URLs to\nnavigate the different pages.\n","type":"object","properties":{"offset":{"$ref":"#/components/schemas/Offset"},"limit":{"$ref":"#/components/schemas/Limit"},"_links":{"$ref":"#/components/schemas/Links"}}},"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true},"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true},"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The Offset object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Offset":{"description":"The offset specified in the request (if none was specified, the default\noffset is 0).\n","type":"integer","minimum":0,"readOnly":true}}}}
```

## The Limit object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Limit":{"description":"The limit specified in the request (if none was specified, use the\nendpoint's default pagination limit).\n","type":"integer","minimum":0,"readOnly":true}}}}
```

## The Links object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Links":{"description":"URLs to navigate the different pages. As of now we always only return a\nsingle page.\n","type":"object","properties":{"prev":{"description":"URL (with offset and limit parameters) of the previous page; only\npresent if offset is greater than 0.\n","type":"string","format":"uri","readOnly":true},"self":{"description":"URL (with offset and limit parameters) of the current page.\n","type":"string","format":"uri","readOnly":true},"next":{"description":"URL (with offset and limit parameters) of the next page; only\npresent if offset + limit is less than the total number of elements.\n","type":"string","format":"uri","readOnly":true}}}}}}
```

## The Metadata object

```json
{"openapi":"3.0.3","info":{"title":"Container Registry service","version":"1.2.2"},"components":{"schemas":{"Metadata":{"type":"object","description":"Metadata of the resource.","properties":{"createdDate":{"type":"string","format":"date-time","description":"The ISO 8601 creation timestamp.","readOnly":true},"createdBy":{"type":"string","description":"Unique name of the identity that created the resource.","readOnly":true},"createdByUserId":{"type":"string","description":"Unique id of the identity that created the resource.","readOnly":true},"lastModifiedDate":{"type":"string","format":"date-time","description":"The ISO 8601 modified timestamp.","readOnly":true},"lastModifiedBy":{"type":"string","description":"Unique name of the identity that last modified the resource.","readOnly":true},"lastModifiedByUserId":{"type":"string","description":"Unique id of the identity that last modified the resource.","readOnly":true},"resourceURN":{"type":"string","description":"Unique name of the resource.","readOnly":true}}}}}}
```
