# Models

## The ProviderReadList object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"ProviderReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Provider resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Provider resources.","type":"string"},"items":{"description":"The list of Provider resources.","type":"array","items":{"$ref":"#/components/schemas/ProviderRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"ProviderRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Provider.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["provider"]},"href":{"description":"The URL of the Provider.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Provider"}}},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"Provider":{"description":"Certificate provider used to renew certificates before their expiry.\n","type":"object","required":["name","email","server"],"properties":{"name":{"type":"string","description":"The name of the certificate provider."},"email":{"type":"string","description":"The email address of the certificate requester."},"server":{"type":"string","description":"The URL of the certificate provider."},"externalAccountBinding":{"type":"object","properties":{"keyId":{"type":"string","description":"The key ID of the external account binding."},"keySecret":{"type":"string","description":"The secret of the external account binding.","writeOnly":true}}}}},"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 ProviderRead object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"ProviderRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Provider.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["provider"]},"href":{"description":"The URL of the Provider.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithStatus"},"properties":{"$ref":"#/components/schemas/Provider"}}},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"Provider":{"description":"Certificate provider used to renew certificates before their expiry.\n","type":"object","required":["name","email","server"],"properties":{"name":{"type":"string","description":"The name of the certificate provider."},"email":{"type":"string","description":"The email address of the certificate requester."},"server":{"type":"string","description":"The URL of the certificate provider."},"externalAccountBinding":{"type":"object","properties":{"keyId":{"type":"string","description":"The key ID of the external account binding."},"keySecret":{"type":"string","description":"The secret of the external account binding.","writeOnly":true}}}}}}}}
```

## The ProviderPatch object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"ProviderPatch":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/PatchName"}}},"PatchName":{"required":["name"],"properties":{"name":{"type":"string","description":"The new name."}}}}}}
```

## The ProviderCreate object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"ProviderCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Provider"}}},"Provider":{"description":"Certificate provider used to renew certificates before their expiry.\n","type":"object","required":["name","email","server"],"properties":{"name":{"type":"string","description":"The name of the certificate provider."},"email":{"type":"string","description":"The email address of the certificate requester."},"server":{"type":"string","description":"The URL of the certificate provider."},"externalAccountBinding":{"type":"object","properties":{"keyId":{"type":"string","description":"The key ID of the external account binding."},"keySecret":{"type":"string","description":"The secret of the external account binding.","writeOnly":true}}}}}}}}
```

## The Provider object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"Provider":{"description":"Certificate provider used to renew certificates before their expiry.\n","type":"object","required":["name","email","server"],"properties":{"name":{"type":"string","description":"The name of the certificate provider."},"email":{"type":"string","description":"The email address of the certificate requester."},"server":{"type":"string","description":"The URL of the certificate provider."},"externalAccountBinding":{"type":"object","properties":{"keyId":{"type":"string","description":"The key ID of the external account binding."},"keySecret":{"type":"string","description":"The secret of the external account binding.","writeOnly":true}}}}}}}}
```

## The CertificateReadList object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"CertificateReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of Certificate resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of Certificate resources.","type":"string"},"items":{"description":"The list of Certificate resources.","type":"array","items":{"$ref":"#/components/schemas/CertificateRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"CertificateRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Certificate.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["certificate"]},"href":{"description":"The URL of the Certificate.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithCertificateInformation"},"properties":{"$ref":"#/components/schemas/Certificate"}}},"MetadataWithCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["expired","notBefore","notAfter","serialNumber","commonName","subjectAlternativeNames"],"properties":{"autoCertificate":{"type":"string","format":"uuid","description":"The ID of the auto-certificate that caused issuing of the certificate."},"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last issued certificate that belongs to the same auto-certificate."},"expired":{"type":"boolean","description":"Indicates if the certificate is expired."},"notBefore":{"type":"string","format":"date-time","description":"The start date of the certificate."},"notAfter":{"type":"string","format":"date-time","description":"The end date of the certificate."},"serialNumber":{"type":"string","description":"The serial number of the certificate in hex."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"Certificate":{"description":"TLS/SSL certificates are used to secure network communications and prove\nthe identity of websites on the Internet and resources on private networks. The certificates and their associated\nprivate keys are provided in PEM (Privacy Enhanced Mail) format.\n","type":"object","required":["name","certificate","certificateChain","privateKey"],"properties":{"name":{"type":"string","description":"The certificate name."},"certificate":{"type":"string","description":"The certificate body."},"certificateChain":{"type":"string","description":"The certificate chain."},"privateKey":{"type":"string","description":"The RSA private key is used for authentication and symmetric key exchange when establishing an SSL session. It is a part of the public key infrastructure generally used with SSL certificates.","writeOnly":true}}},"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 CertificateRead object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"CertificateRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the Certificate.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["certificate"]},"href":{"description":"The URL of the Certificate.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithCertificateInformation"},"properties":{"$ref":"#/components/schemas/Certificate"}}},"MetadataWithCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["expired","notBefore","notAfter","serialNumber","commonName","subjectAlternativeNames"],"properties":{"autoCertificate":{"type":"string","format":"uuid","description":"The ID of the auto-certificate that caused issuing of the certificate."},"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last issued certificate that belongs to the same auto-certificate."},"expired":{"type":"boolean","description":"Indicates if the certificate is expired."},"notBefore":{"type":"string","format":"date-time","description":"The start date of the certificate."},"notAfter":{"type":"string","format":"date-time","description":"The end date of the certificate."},"serialNumber":{"type":"string","description":"The serial number of the certificate in hex."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"Certificate":{"description":"TLS/SSL certificates are used to secure network communications and prove\nthe identity of websites on the Internet and resources on private networks. The certificates and their associated\nprivate keys are provided in PEM (Privacy Enhanced Mail) format.\n","type":"object","required":["name","certificate","certificateChain","privateKey"],"properties":{"name":{"type":"string","description":"The certificate name."},"certificate":{"type":"string","description":"The certificate body."},"certificateChain":{"type":"string","description":"The certificate chain."},"privateKey":{"type":"string","description":"The RSA private key is used for authentication and symmetric key exchange when establishing an SSL session. It is a part of the public key infrastructure generally used with SSL certificates.","writeOnly":true}}}}}}
```

## The CertificatePatch object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"CertificatePatch":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/PatchName"}}},"PatchName":{"required":["name"],"properties":{"name":{"type":"string","description":"The new name."}}}}}}
```

## The CertificateCreate object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"CertificateCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/Certificate"}}},"Certificate":{"description":"TLS/SSL certificates are used to secure network communications and prove\nthe identity of websites on the Internet and resources on private networks. The certificates and their associated\nprivate keys are provided in PEM (Privacy Enhanced Mail) format.\n","type":"object","required":["name","certificate","certificateChain","privateKey"],"properties":{"name":{"type":"string","description":"The certificate name."},"certificate":{"type":"string","description":"The certificate body."},"certificateChain":{"type":"string","description":"The certificate chain."},"privateKey":{"type":"string","description":"The RSA private key is used for authentication and symmetric key exchange when establishing an SSL session. It is a part of the public key infrastructure generally used with SSL certificates.","writeOnly":true}}}}}}
```

## The Certificate object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"Certificate":{"description":"TLS/SSL certificates are used to secure network communications and prove\nthe identity of websites on the Internet and resources on private networks. The certificates and their associated\nprivate keys are provided in PEM (Privacy Enhanced Mail) format.\n","type":"object","required":["name","certificate","certificateChain","privateKey"],"properties":{"name":{"type":"string","description":"The certificate name."},"certificate":{"type":"string","description":"The certificate body."},"certificateChain":{"type":"string","description":"The certificate chain."},"privateKey":{"type":"string","description":"The RSA private key is used for authentication and symmetric key exchange when establishing an SSL session. It is a part of the public key infrastructure generally used with SSL certificates.","writeOnly":true}}}}}}
```

## The PatchName object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"PatchName":{"required":["name"],"properties":{"name":{"type":"string","description":"The new name."}}}}}}
```

## The AutoCertificateReadList object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"AutoCertificateReadList":{"allOf":[{"type":"object","required":["id","type","href"],"properties":{"id":{"description":"ID of the list of AutoCertificate resources.","type":"string","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["collection"]},"href":{"description":"The URL of the list of AutoCertificate resources.","type":"string"},"items":{"description":"The list of AutoCertificate resources.","type":"array","items":{"$ref":"#/components/schemas/AutoCertificateRead"}}}},{"$ref":"#/components/schemas/Pagination"}]},"AutoCertificateRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the AutoCertificate.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["autocertificate"]},"href":{"description":"The URL of the AutoCertificate.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithAutoCertificateInformation"},"properties":{"$ref":"#/components/schemas/AutoCertificate"}}},"MetadataWithAutoCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","properties":{"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last certificate that was issued."}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"AutoCertificate":{"description":"Auto certificates create new certificates based\non a certificate provider.\n","type":"object","required":["provider","commonName","keyAlgorithm","name"],"properties":{"provider":{"type":"string","format":"uuid","description":"The certificate provider used to issue the certificates."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate to issue.\nThe common name needs to be part of a zone in IONOS Cloud DNS.\n"},"keyAlgorithm":{"type":"string","description":"The key algorithm used to generate the certificate.","enum":["rsa2048","rsa3072","rsa4096"]},"name":{"type":"string","description":"A certificate name used for management purposes."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names to be added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}},"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 AutoCertificateRead object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"AutoCertificateRead":{"type":"object","required":["id","type","href","metadata","properties"],"properties":{"id":{"type":"string","description":"The ID (UUID) of the AutoCertificate.","format":"uuid"},"type":{"description":"The type of the resource.","type":"string","enum":["autocertificate"]},"href":{"description":"The URL of the AutoCertificate.","type":"string"},"metadata":{"$ref":"#/components/schemas/MetadataWithAutoCertificateInformation"},"properties":{"$ref":"#/components/schemas/AutoCertificate"}}},"MetadataWithAutoCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","properties":{"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last certificate that was issued."}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}},"AutoCertificate":{"description":"Auto certificates create new certificates based\non a certificate provider.\n","type":"object","required":["provider","commonName","keyAlgorithm","name"],"properties":{"provider":{"type":"string","format":"uuid","description":"The certificate provider used to issue the certificates."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate to issue.\nThe common name needs to be part of a zone in IONOS Cloud DNS.\n"},"keyAlgorithm":{"type":"string","description":"The key algorithm used to generate the certificate.","enum":["rsa2048","rsa3072","rsa4096"]},"name":{"type":"string","description":"A certificate name used for management purposes."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names to be added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}}}}
```

## The AutoCertificatePatch object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"AutoCertificatePatch":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/PatchName"}}},"PatchName":{"required":["name"],"properties":{"name":{"type":"string","description":"The new name."}}}}}}
```

## The AutoCertificateCreate object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"AutoCertificateCreate":{"type":"object","required":["properties"],"properties":{"metadata":{"description":"Metadata","additionalProperties":true},"properties":{"$ref":"#/components/schemas/AutoCertificate"}}},"AutoCertificate":{"description":"Auto certificates create new certificates based\non a certificate provider.\n","type":"object","required":["provider","commonName","keyAlgorithm","name"],"properties":{"provider":{"type":"string","format":"uuid","description":"The certificate provider used to issue the certificates."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate to issue.\nThe common name needs to be part of a zone in IONOS Cloud DNS.\n"},"keyAlgorithm":{"type":"string","description":"The key algorithm used to generate the certificate.","enum":["rsa2048","rsa3072","rsa4096"]},"name":{"type":"string","description":"A certificate name used for management purposes."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names to be added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}}}}
```

## The AutoCertificate object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"AutoCertificate":{"description":"Auto certificates create new certificates based\non a certificate provider.\n","type":"object","required":["provider","commonName","keyAlgorithm","name"],"properties":{"provider":{"type":"string","format":"uuid","description":"The certificate provider used to issue the certificates."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate to issue.\nThe common name needs to be part of a zone in IONOS Cloud DNS.\n"},"keyAlgorithm":{"type":"string","description":"The key algorithm used to generate the certificate.","enum":["rsa2048","rsa3072","rsa4096"]},"name":{"type":"string","description":"A certificate name used for management purposes."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names to be added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}}}}
```

## The MetadataWithStatus object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}}}}}
```

## The MetadataWithAutoCertificateInformation object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"MetadataWithAutoCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","properties":{"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last certificate that was issued."}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}}}}}
```

## The MetadataWithCertificateInformation object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"MetadataWithCertificateInformation":{"allOf":[{"$ref":"#/components/schemas/MetadataWithStatus"},{"type":"object","required":["expired","notBefore","notAfter","serialNumber","commonName","subjectAlternativeNames"],"properties":{"autoCertificate":{"type":"string","format":"uuid","description":"The ID of the auto-certificate that caused issuing of the certificate."},"lastIssuedCertificate":{"type":"string","format":"uuid","description":"The ID of the last issued certificate that belongs to the same auto-certificate."},"expired":{"type":"boolean","description":"Indicates if the certificate is expired."},"notBefore":{"type":"string","format":"date-time","description":"The start date of the certificate."},"notAfter":{"type":"string","format":"date-time","description":"The end date of the certificate."},"serialNumber":{"type":"string","description":"The serial number of the certificate in hex."},"commonName":{"type":"string","description":"The common name (DNS) of the certificate."},"subjectAlternativeNames":{"type":"array","items":{"type":"string"},"description":"Optional additional names added to the issued certificate.\nThe additional names needs to be part of a zone in IONOS Cloud DNS.\n"}}}]},"MetadataWithStatus":{"readOnly":true,"allOf":[{"$ref":"#/components/schemas/Metadata"},{"type":"object","required":["state","message"],"properties":{"state":{"type":"string","description":"The resource state.","enum":["PROVISIONING","AVAILABLE","FAILED"]},"message":{"type":"string","description":"A human readable message describing the current state.\nIn case of an error, the message will contain a detailed error message.\n"}}}]},"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}}}}}}
```

## The Cores object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"Cores":{"type":"integer","description":"The number of CPU cores per instance.","minimum":1,"maximum":31}}}}
```

## The Ram object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"Ram":{"type":"integer","description":"The amount of memory per instance in gigabytes (GB).","minimum":4,"maximum":256}}}}
```

## The Connection object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"Connection":{"description":"Details about the network connection for your instance.","properties":{"datacenterId":{"description":"The datacenter to connect your instance to.","type":"string"},"lanId":{"description":"The numeric LAN ID to connect your instance to.","type":"string"},"cidr":{"type":"string","description":"The IP and subnet for your instance.\nNote the following unavailable IP range:\n10.244.0.0/11\n"}},"required":["datacenterId","lanId","cidr"],"type":"object"}}}}
```

## The MaintenanceWindow object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"MaintenanceWindow":{"description":"A weekly 4 hour-long window, during which maintenance might occur.\n","properties":{"time":{"type":"string","description":"Start of the maintenance window in UTC time."},"dayOfTheWeek":{"$ref":"#/components/schemas/DayOfTheWeek"}},"required":["time","dayOfTheWeek"],"type":"object"},"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The DayOfTheWeek object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"components":{"schemas":{"DayOfTheWeek":{"description":"The name of the week day.","type":"string","enum":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]}}}}
```

## The Error object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"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 Metadata object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"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}}}}}}
```

## The Pagination object

```json
{"openapi":"3.0.3","info":{"title":"Certificate Manager Service API","version":"2.0"},"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":"Certificate Manager Service API","version":"2.0"},"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":"Certificate Manager Service API","version":"2.0"},"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":"Certificate Manager Service API","version":"2.0"},"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}}}}}}
```
