NginxProxyManager JSON Schema at v2.9.6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"root", | |
"title":"Nginx Proxy Manager REST API", | |
"description":"This is the Nginx Proxy Manager REST API", | |
"version":"2.0.0", | |
"links":[ | |
{ | |
"href":"http://npm.example.com/api", | |
"rel":"self" | |
} | |
], | |
"properties":{ | |
"tokens":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/tokens", | |
"title":"Token", | |
"description":"Tokens are required to authenticate against the API", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"identity":{ | |
"description":"Email Address or other 3rd party providers identifier", | |
"example":"john@example.com", | |
"type":"string" | |
}, | |
"secret":{ | |
"description":"A password or key", | |
"example":"correct horse battery staple", | |
"type":"string" | |
}, | |
"token":{ | |
"description":"JWT", | |
"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"type":"string" | |
}, | |
"expires":{ | |
"description":"Token expiry time", | |
"format":"date-time", | |
"type":"string" | |
}, | |
"scope":{ | |
"description":"Scope of the Token, defaults to 'user'", | |
"example":"user", | |
"type":"string" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"Create", | |
"description":"Creates a new token.", | |
"href":"/tokens", | |
"access":"public", | |
"method":"POST", | |
"rel":"create", | |
"schema":{ | |
"type":"object", | |
"required":[ | |
"identity", | |
"secret" | |
], | |
"properties":{ | |
"identity":{ | |
"description":"Email Address or other 3rd party providers identifier", | |
"example":"john@example.com", | |
"type":"string" | |
}, | |
"secret":{ | |
"description":"A password or key", | |
"example":"correct horse battery staple", | |
"type":"string" | |
}, | |
"scope":{ | |
"description":"Scope of the Token, defaults to 'user'", | |
"example":"user", | |
"type":"string" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"type":"object", | |
"properties":{ | |
"token":{ | |
"description":"JWT", | |
"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"type":"string" | |
}, | |
"expires":{ | |
"description":"Token expiry time", | |
"format":"date-time", | |
"type":"string" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Refresh", | |
"description":"Returns a new token.", | |
"href":"/tokens", | |
"access":"private", | |
"method":"GET", | |
"rel":"self", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
}, | |
"targetSchema":{ | |
"type":"object", | |
"properties":{ | |
"token":{ | |
"description":"JWT", | |
"example":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"type":"string" | |
}, | |
"expires":{ | |
"description":"Token expiry time", | |
"format":"date-time", | |
"type":"string" | |
}, | |
"scope":{ | |
"description":"Scope of the Token, defaults to 'user'", | |
"example":"user", | |
"type":"string" | |
} | |
} | |
} | |
} | |
] | |
}, | |
"users":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/users", | |
"title":"Users", | |
"description":"Endpoints relating to Users", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"avatar":{ | |
"description":"Avatar", | |
"example":"http://somewhere.jpg", | |
"type":"string", | |
"minLength":2, | |
"maxLength":150, | |
"readOnly":true | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Users", | |
"href":"/users", | |
"access":"private", | |
"method":"GET", | |
"rel":"self", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"array", | |
"items":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"avatar":{ | |
"description":"Avatar", | |
"example":"http://somewhere.jpg", | |
"type":"string", | |
"minLength":2, | |
"maxLength":150, | |
"readOnly":true | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new User", | |
"href":"/users", | |
"access":"private", | |
"method":"POST", | |
"rel":"create", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"required":[ | |
"name", | |
"nickname", | |
"email" | |
], | |
"properties":{ | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"auth":{ | |
"type":"object", | |
"description":"Auth Credentials", | |
"example":{ | |
"type":"password", | |
"secret":"bigredhorsebanana" | |
} | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"avatar":{ | |
"description":"Avatar", | |
"example":"http://somewhere.jpg", | |
"type":"string", | |
"minLength":2, | |
"maxLength":150, | |
"readOnly":true | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing User", | |
"href":"/users/{definitions.identity.example}", | |
"access":"private", | |
"method":"PUT", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"properties":{ | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"avatar":{ | |
"description":"Avatar", | |
"example":"http://somewhere.jpg", | |
"type":"string", | |
"minLength":2, | |
"maxLength":150, | |
"readOnly":true | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing User", | |
"href":"/users/{definitions.identity.example}", | |
"access":"private", | |
"method":"DELETE", | |
"rel":"delete", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Set Password", | |
"description":"Sets a password for an existing User", | |
"href":"/users/{definitions.identity.example}/auth", | |
"access":"private", | |
"method":"PUT", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"required":[ | |
"type", | |
"secret" | |
], | |
"properties":{ | |
"type":{ | |
"type":"string", | |
"pattern":"^password$" | |
}, | |
"current":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":64 | |
}, | |
"secret":{ | |
"type":"string", | |
"minLength":8, | |
"maxLength":64 | |
} | |
} | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Set Permissions", | |
"description":"Sets Permissions for a User", | |
"href":"/users/{definitions.identity.example}/permissions", | |
"access":"private", | |
"method":"PUT", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"properties":{ | |
"visibility":{ | |
"type":"string", | |
"pattern":"^(all|user)$" | |
}, | |
"access_lists":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
}, | |
"dead_hosts":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
}, | |
"proxy_hosts":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
}, | |
"redirection_hosts":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
}, | |
"streams":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
}, | |
"certificates":{ | |
"type":"string", | |
"pattern":"^(hidden|view|manage)$" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
} | |
], | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Jamie Curnow", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"nickname":{ | |
"description":"Nickname", | |
"example":"Jamie", | |
"type":"string", | |
"minLength":2, | |
"maxLength":50 | |
}, | |
"email":{ | |
"description":"Email Address", | |
"example":"john@example.com", | |
"format":"email", | |
"type":"string", | |
"minLength":8, | |
"maxLength":100 | |
}, | |
"avatar":{ | |
"description":"Avatar", | |
"example":"http://somewhere.jpg", | |
"type":"string", | |
"minLength":2, | |
"maxLength":150, | |
"readOnly":true | |
}, | |
"roles":{ | |
"description":"Roles", | |
"example":[ | |
"admin" | |
], | |
"type":"array" | |
}, | |
"is_disabled":{ | |
"description":"Is Disabled", | |
"example":false, | |
"type":"boolean" | |
} | |
} | |
}, | |
"proxy-hosts":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/proxy-hosts", | |
"title":"Proxy Hosts", | |
"description":"Endpoints relating to Proxy Hosts", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
}, | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Proxy Hosts", | |
"href":"/nginx/proxy-hosts", | |
"access":"private", | |
"method":"GET", | |
"rel":"self", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"array", | |
"items":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new Proxy Host", | |
"href":"/nginx/proxy-hosts", | |
"access":"private", | |
"method":"POST", | |
"rel":"create", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"additionalProperties":false, | |
"required":[ | |
"domain_names", | |
"forward_scheme", | |
"forward_host", | |
"forward_port" | |
], | |
"properties":{ | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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 Enabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing Proxy Host", | |
"href":"/nginx/proxy-hosts/{definitions.identity.example}", | |
"access":"private", | |
"method":"PUT", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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 Enabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"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" | |
}, | |
"allow_websocket_upgrade":{ | |
"description":"Allow Websocket Upgrade for all paths", | |
"example":true, | |
"type":"boolean" | |
}, | |
"access_list_id":{ | |
"description":"Access List ID", | |
"example":1234, | |
"type":"integer", | |
"minimum":0 | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
}, | |
"locations":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"required":[ | |
"forward_scheme", | |
"forward_host", | |
"forward_port", | |
"path" | |
], | |
"additionalProperties":false, | |
"properties":{ | |
"id":{ | |
"type":[ | |
"integer", | |
"null" | |
] | |
}, | |
"path":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"forward_scheme":{ | |
"type":"string", | |
"enum":[ | |
"http", | |
"https" | |
] | |
}, | |
"forward_host":{ | |
"type":"string", | |
"minLength":1, | |
"maxLength":255 | |
}, | |
"forward_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_path":{ | |
"type":"string" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing Proxy Host", | |
"href":"/nginx/proxy-hosts/{definitions.identity.example}", | |
"access":"private", | |
"method":"DELETE", | |
"rel":"delete", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Enable", | |
"description":"Enables a existing Proxy Host", | |
"href":"/nginx/proxy-hosts/{definitions.identity.example}/enable", | |
"access":"private", | |
"method":"POST", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Disable", | |
"description":"Disables a existing Proxy Host", | |
"href":"/nginx/proxy-hosts/{definitions.identity.example}/disable", | |
"access":"private", | |
"method":"POST", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
} | |
] | |
}, | |
"redirection-hosts":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/redirection-hosts", | |
"title":"Redirection Hosts", | |
"description":"Endpoints relating to Redirection Hosts", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Redirection Hosts", | |
"href":"/nginx/redirection-hosts", | |
"access":"private", | |
"method":"GET", | |
"rel":"self", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"array", | |
"items":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new Redirection Host", | |
"href":"/nginx/redirection-hosts", | |
"access":"private", | |
"method":"POST", | |
"rel":"create", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"additionalProperties":false, | |
"required":[ | |
"domain_names", | |
"forward_scheme", | |
"forward_http_code", | |
"forward_domain_name" | |
], | |
"properties":{ | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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 Enabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing Redirection Host", | |
"href":"/nginx/redirection-hosts/{definitions.identity.example}", | |
"access":"private", | |
"method":"PUT", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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 Enabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"forward_http_code":{ | |
"description":"Redirect HTTP Status Code", | |
"example":302, | |
"type":"integer", | |
"minimum":300, | |
"maximum":308 | |
}, | |
"forward_scheme":{ | |
"description":"RFC Protocol", | |
"example":"HTTPS or $scheme", | |
"type":"string", | |
"minLength":4 | |
}, | |
"forward_domain_name":{ | |
"description":"Domain Name", | |
"example":"jc21.com", | |
"type":"string", | |
"pattern":"^(?:[^.*]+\\.?)+[^.]$" | |
}, | |
"preserve_path":{ | |
"description":"Should the path be preserved", | |
"example":true, | |
"type":"boolean" | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"block_exploits":{ | |
"description":"Should we block common exploits", | |
"example":true, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing Redirection Host", | |
"href":"/nginx/redirection-hosts/{definitions.identity.example}", | |
"access":"private", | |
"method":"DELETE", | |
"rel":"delete", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Enable", | |
"description":"Enables a existing Redirection Host", | |
"href":"/nginx/redirection-hosts/{definitions.identity.example}/enable", | |
"access":"private", | |
"method":"POST", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
}, | |
{ | |
"title":"Disable", | |
"description":"Disables a existing Redirection Host", | |
"href":"/nginx/redirection-hosts/{definitions.identity.example}/disable", | |
"access":"private", | |
"method":"POST", | |
"rel":"update", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"boolean" | |
} | |
} | |
] | |
}, | |
"dead-hosts":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/dead-hosts", | |
"title":"404 Hosts", | |
"description":"Endpoints relating to 404 Hosts", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of 404 Hosts", | |
"href":"/nginx/dead-hosts", | |
"access":"private", | |
"method":"GET", | |
"rel":"self", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"targetSchema":{ | |
"type":"array", | |
"items":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new 404 Host", | |
"href":"/nginx/dead-hosts", | |
"access":"private", | |
"method":"POST", | |
"rel":"create", | |
"http_header":{ | |
"Authorization":"Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.e30.O_frfYM8RzmRsUNigHtu0_jZ_utSejyr1axMGa8rlsk", | |
"X-API-Version":"next" | |
}, | |
"schema":{ | |
"type":"object", | |
"additionalProperties":false, | |
"required":[ | |
"domain_names" | |
], | |
"properties":{ | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"certificate_id":{ | |
"description":"Certificate ID", | |
"example":1234, | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
}, | |
{ | |
"type":"string", | |
"pattern":"^new$" | |
} | |
] | |
}, | |
"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 Enabled", | |
"example":false, | |
"type":"boolean" | |
}, | |
"http2_support":{ | |
"description":"HTTP2 Protocol Support", | |
"example":false, | |
"type":"boolean" | |
}, | |
"advanced_config":{ | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier", | |
"example":123456, | |
"readOnly":true, | |
"type":"integer", | |
"minimum":1 | |
}, | |
"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" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$&quo |