{
	"type": "object",
	"description": "CertificateObject",
	"additionalProperties": false,
	"required": [
		"id",
		"created_on",
		"modified_on",
		"expires_on",
		"type",
		"user_id",
		"certificate_authority_id",
		"dns_provider_id",
		"name",
		"is_ecc",
		"status",
		"domain_names"
	],
	"properties": {
		"id": {
			"type": "integer",
			"minimum": 1
		},
		"created_on": {
			"type": "integer",
			"minimum": 1
		},
		"modified_on": {
			"type": "integer",
			"minimum": 1
		},
		"expires_on": {
			"type": "integer",
			"minimum": 1,
			"nullable": true
		},
		"type": {
			"type": "string",
			"enum": ["custom", "http", "dns"]
		},
		"user_id": {
			"type": "integer",
			"minimum": 1
		},
		"certificate_authority_id": {
			"type": "integer",
			"minimum": 0
		},
		"certificate_authority": {
			"$ref": "#/components/schemas/CertificateAuthorityObject"
		},
		"dns_provider_id": {
			"type": "integer",
			"minimum": 0
		},
		"name": {
			"type": "string",
			"minLength": 1,
			"maxLength": 100
		},
		"domain_names": {
			"type": "array",
			"minItems": 1,
			"items": {
				"type": "string",
				"minLength": 4
			}
		},
		"status": {
			"type": "string",
			"enum": ["ready", "requesting", "failed", "provided"]
		},
		"is_ecc": {
			"type": "integer",
			"minimum": 0,
			"maximum": 1
		},
		"error_message": {
			"type": "string"
		}
	}
}