Skip to content

Instantly share code, notes, and snippets.

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