Created
August 4, 2021 09:37
-
-
Save chaptergy/a8b28330b74159355f5ecc5ffa488b17 to your computer and use it in GitHub Desktop.
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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"[email protected]", | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"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":"Update", | |
"description":"Updates a existing 404 Host", | |
"href":"/nginx/dead-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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"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":"Delete", | |
"description":"Deletes a existing 404 Host", | |
"href":"/nginx/dead-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 404 Host", | |
"href":"/nginx/dead-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 404 Host", | |
"href":"/nginx/dead-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" | |
} | |
} | |
] | |
}, | |
"streams":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/streams", | |
"title":"Streams", | |
"description":"Endpoints relating to Streams", | |
"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" | |
}, | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"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" | |
}, | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Steams", | |
"href":"/nginx/streams", | |
"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" | |
}, | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new Stream", | |
"href":"/nginx/streams", | |
"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":[ | |
"incoming_port", | |
"forward_ip", | |
"forwarding_port" | |
], | |
"properties":{ | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"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" | |
}, | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing Stream", | |
"href":"/nginx/streams/{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":{ | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"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" | |
}, | |
"incoming_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"forward_ip":{ | |
"type":"string", | |
"format":"ipv4" | |
}, | |
"forwarding_port":{ | |
"type":"integer", | |
"minimum":1, | |
"maximum":65535 | |
}, | |
"tcp_forwarding":{ | |
"type":"boolean" | |
}, | |
"udp_forwarding":{ | |
"type":"boolean" | |
}, | |
"enabled":{ | |
"description":"Is Enabled", | |
"example":true, | |
"type":"boolean" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing Stream", | |
"href":"/nginx/streams/{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 Stream", | |
"href":"/nginx/streams/{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 Stream", | |
"href":"/nginx/streams/{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" | |
} | |
} | |
] | |
}, | |
"certificates":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/certificates", | |
"title":"Certificates", | |
"description":"Endpoints relating to Certificates", | |
"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" | |
}, | |
"provider":{ | |
"type":"string", | |
"pattern":"^(letsencrypt|other)$" | |
}, | |
"nice_name":{ | |
"type":"string", | |
"description":"Nice Name for the custom certificate" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"expires_on":{ | |
"description":"Date and time of expiration", | |
"format":"date-time", | |
"readOnly":true, | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"letsencrypt_email":{ | |
"type":"string", | |
"format":"email" | |
}, | |
"letsencrypt_agree":{ | |
"type":"boolean" | |
}, | |
"dns_challenge":{ | |
"type":"boolean" | |
}, | |
"dns_provider":{ | |
"type":"string" | |
}, | |
"dns_provider_credentials":{ | |
"type":"string" | |
}, | |
"propagation_seconds":{ | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
} | |
] | |
} | |
} | |
} | |
}, | |
"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" | |
}, | |
"provider":{ | |
"type":"string", | |
"pattern":"^(letsencrypt|other)$" | |
}, | |
"nice_name":{ | |
"type":"string", | |
"description":"Nice Name for the custom certificate" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"expires_on":{ | |
"description":"Date and time of expiration", | |
"format":"date-time", | |
"readOnly":true, | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"letsencrypt_email":{ | |
"type":"string", | |
"format":"email" | |
}, | |
"letsencrypt_agree":{ | |
"type":"boolean" | |
}, | |
"dns_challenge":{ | |
"type":"boolean" | |
}, | |
"dns_provider":{ | |
"type":"string" | |
}, | |
"dns_provider_credentials":{ | |
"type":"string" | |
}, | |
"propagation_seconds":{ | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
} | |
] | |
} | |
} | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Certificates", | |
"href":"/nginx/certificates", | |
"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" | |
}, | |
"provider":{ | |
"type":"string", | |
"pattern":"^(letsencrypt|other)$" | |
}, | |
"nice_name":{ | |
"type":"string", | |
"description":"Nice Name for the custom certificate" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"expires_on":{ | |
"description":"Date and time of expiration", | |
"format":"date-time", | |
"readOnly":true, | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"letsencrypt_email":{ | |
"type":"string", | |
"format":"email" | |
}, | |
"letsencrypt_agree":{ | |
"type":"boolean" | |
}, | |
"dns_challenge":{ | |
"type":"boolean" | |
}, | |
"dns_provider":{ | |
"type":"string" | |
}, | |
"dns_provider_credentials":{ | |
"type":"string" | |
}, | |
"propagation_seconds":{ | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new Certificate", | |
"href":"/nginx/certificates", | |
"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":[ | |
"provider" | |
], | |
"properties":{ | |
"provider":{ | |
"type":"string", | |
"pattern":"^(letsencrypt|other)$" | |
}, | |
"nice_name":{ | |
"type":"string", | |
"description":"Nice Name for the custom certificate" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"meta":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"letsencrypt_email":{ | |
"type":"string", | |
"format":"email" | |
}, | |
"letsencrypt_agree":{ | |
"type":"boolean" | |
}, | |
"dns_challenge":{ | |
"type":"boolean" | |
}, | |
"dns_provider":{ | |
"type":"string" | |
}, | |
"dns_provider_credentials":{ | |
"type":"string" | |
}, | |
"propagation_seconds":{ | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
} | |
] | |
} | |
} | |
} | |
} | |
}, | |
"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" | |
}, | |
"provider":{ | |
"type":"string", | |
"pattern":"^(letsencrypt|other)$" | |
}, | |
"nice_name":{ | |
"type":"string", | |
"description":"Nice Name for the custom certificate" | |
}, | |
"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":"^(?:\\*\\.)?(?:[^.*]+\\.?)+[^.]$" | |
} | |
}, | |
"expires_on":{ | |
"description":"Date and time of expiration", | |
"format":"date-time", | |
"readOnly":true, | |
"type":"string" | |
}, | |
"meta":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"letsencrypt_email":{ | |
"type":"string", | |
"format":"email" | |
}, | |
"letsencrypt_agree":{ | |
"type":"boolean" | |
}, | |
"dns_challenge":{ | |
"type":"boolean" | |
}, | |
"dns_provider":{ | |
"type":"string" | |
}, | |
"dns_provider_credentials":{ | |
"type":"string" | |
}, | |
"propagation_seconds":{ | |
"anyOf":[ | |
{ | |
"type":"integer", | |
"minimum":0 | |
} | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing Certificate", | |
"href":"/nginx/certificates/{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" | |
} | |
} | |
] | |
}, | |
"access-lists":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/access-lists", | |
"title":"Access Lists", | |
"description":"Endpoints relating to Access Lists", | |
"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":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"directive":{ | |
"type":"string", | |
"enum":[ | |
"allow", | |
"deny" | |
] | |
}, | |
"address":{ | |
"oneOf":[ | |
{ | |
"type":"string", | |
"pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^all$" | |
} | |
] | |
}, | |
"satisfy_any":{ | |
"type":"boolean" | |
}, | |
"pass_auth":{ | |
"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" | |
}, | |
"name":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Access Lists", | |
"href":"/nginx/access-lists", | |
"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":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Create", | |
"description":"Creates a new Access List", | |
"href":"/nginx/access-list", | |
"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":[ | |
"name" | |
], | |
"properties":{ | |
"name":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"satisfy_any":{ | |
"type":"boolean" | |
}, | |
"pass_auth":{ | |
"type":"boolean" | |
}, | |
"items":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"username":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"password":{ | |
"type":"string", | |
"minLength":1 | |
} | |
} | |
} | |
}, | |
"clients":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"address":{ | |
"oneOf":[ | |
{ | |
"type":"string", | |
"pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^all$" | |
} | |
] | |
}, | |
"directive":{ | |
"type":"string", | |
"enum":[ | |
"allow", | |
"deny" | |
] | |
} | |
} | |
} | |
}, | |
"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" | |
}, | |
"name":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing Access List", | |
"href":"/nginx/access-list/{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":{ | |
"name":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"satisfy_any":{ | |
"type":"boolean" | |
}, | |
"pass_auth":{ | |
"type":"boolean" | |
}, | |
"items":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"username":{ | |
"type":"string", | |
"minLength":1 | |
}, | |
"password":{ | |
"type":"string", | |
"minLength":0 | |
} | |
} | |
} | |
}, | |
"clients":{ | |
"type":"array", | |
"minItems":0, | |
"items":{ | |
"type":"object", | |
"additionalProperties":false, | |
"properties":{ | |
"address":{ | |
"oneOf":[ | |
{ | |
"type":"string", | |
"pattern":"^([0-9]{1,3}\\.){3}[0-9]{1,3}(/([0-9]|[1-2][0-9]|3[0-2]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*(/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))?$" | |
}, | |
{ | |
"type":"string", | |
"pattern":"^all$" | |
} | |
] | |
}, | |
"directive":{ | |
"type":"string", | |
"enum":[ | |
"allow", | |
"deny" | |
] | |
} | |
} | |
} | |
} | |
} | |
}, | |
"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":{ | |
"type":"string", | |
"description":"Name of the Access List" | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Delete", | |
"description":"Deletes a existing Access List", | |
"href":"/nginx/access-list/{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" | |
} | |
} | |
] | |
}, | |
"settings":{ | |
"$schema":"http://json-schema.org/draft-07/schema#", | |
"$id":"endpoints/settings", | |
"title":"Settings", | |
"description":"Endpoints relating to Settings", | |
"stability":"stable", | |
"type":"object", | |
"definitions":{ | |
"id":{ | |
"description":"Unique identifier for a Setting", | |
"example":"default-site", | |
"readOnly":true, | |
"type":"string", | |
"minLength":2 | |
}, | |
"name":{ | |
"description":"Name", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":100 | |
}, | |
"description":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"value":{ | |
"description":"Value", | |
"example":"404", | |
"type":"string", | |
"maxLength":255 | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
}, | |
"links":[ | |
{ | |
"title":"List", | |
"description":"Returns a list of Settings", | |
"href":"/settings", | |
"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 for a Setting", | |
"example":"default-site", | |
"readOnly":true, | |
"type":"string", | |
"minLength":2 | |
}, | |
"name":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"description":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"value":{ | |
"description":"Value", | |
"example":"404", | |
"type":"string", | |
"maxLength":255 | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
}, | |
{ | |
"title":"Update", | |
"description":"Updates a existing Setting", | |
"href":"/settings/{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":{ | |
"value":{ | |
"description":"Value", | |
"example":"404", | |
"type":"string", | |
"maxLength":255 | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
}, | |
"targetSchema":{ | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier for a Setting", | |
"example":"default-site", | |
"readOnly":true, | |
"type":"string", | |
"minLength":2 | |
}, | |
"name":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"description":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"value":{ | |
"description":"Value", | |
"example":"404", | |
"type":"string", | |
"maxLength":255 | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
} | |
], | |
"properties":{ | |
"id":{ | |
"description":"Unique identifier for a Setting", | |
"example":"default-site", | |
"readOnly":true, | |
"type":"string", | |
"minLength":2 | |
}, | |
"name":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"description":{ | |
"description":"Description", | |
"example":"Default Site", | |
"type":"string", | |
"minLength":2, | |
"maxLength":255 | |
}, | |
"value":{ | |
"description":"Value", | |
"example":"404", | |
"type":"string", | |
"maxLength":255 | |
}, | |
"meta":{ | |
"type":"object" | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment