{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "definitions", "definitions": { "id": { "description": "Unique identifier", "example": 123456, "readOnly": true, "type": "integer", "minimum": 1 }, "token": { "type": "string", "minLength": 10 }, "expand": { "anyOf": [ { "type": "null" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ] }, "sort": { "type": "array", "minItems": 1, "items": { "type": "object", "required": [ "field", "dir" ], "additionalProperties": false, "properties": { "field": { "type": "string" }, "dir": { "type": "string", "pattern": "^(asc|desc)$" } } } }, "query": { "anyOf": [ { "type": "null" }, { "type": "string", "minLength": 1, "maxLength": 255 } ] }, "criteria": { "anyOf": [ { "type": "null" }, { "type": "object" } ] }, "fields": { "anyOf": [ { "type": "null" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ] }, "omit": { "anyOf": [ { "type": "null" }, { "type": "array", "minItems": 1, "items": { "type": "string" } } ] }, "created_on": { "description": "Date and time of creation", "format": "date-time", "readOnly": true, "type": "string" }, "modified_on": { "description": "Date and time of last update", "format": "date-time", "readOnly": true, "type": "string" }, "user_id": { "description": "User ID", "example": 1234, "type": "integer", "minimum": 1 }, "certificate_id": { "description": "Certificate ID", "example": 1234, "anyOf": [ { "type": "integer", "minimum": 0 }, { "type": "string", "pattern": "^new$" } ] }, "access_list_id": { "description": "Access List ID", "example": 1234, "type": "integer", "minimum": 0 }, "name": { "type": "string", "minLength": 1, "maxLength": 255 }, "email": { "description": "Email Address", "example": "john@example.com", "format": "email", "type": "string", "minLength": 8, "maxLength": 100 }, "password": { "description": "Password", "type": "string", "minLength": 8, "maxLength": 255 }, "domain_name": { "description": "Domain Name", "example": "jc21.com", "type": "string", "pattern": "^(?:[^.*]+\\.?)+[^.]$" }, "domain_names": { "description": "Domain Names separated by a comma", "example": "*.jc21.com,blog.jc21.com", "type": "array", "maxItems": 15, "uniqueItems": true, "items": { "type": "string", "pattern": "^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" } }, "enabled": { "description": "Is Enabled", "example": true, "type": "boolean" }, "ssl_enabled": { "description": "Is SSL Enabled", "example": true, "type": "boolean" }, "ssl_forced": { "description": "Is SSL Forced", "example": false, "type": "boolean" }, "hsts_enabled": { "description": "Is HSTS Enabled", "example": false, "type": "boolean" }, "hsts_subdomains": { "description": "Is HSTS applicable to all subdomains", "example": false, "type": "boolean" }, "ssl_provider": { "type": "string", "pattern": "^(letsencrypt|other)$" }, "http2_support": { "description": "HTTP2 Protocol Support", "example": false, "type": "boolean" }, "block_exploits": { "description": "Should we block common exploits", "example": true, "type": "boolean" }, "caching_enabled": { "description": "Should we cache assets", "example": true, "type": "boolean" } } }