Skip to content

Instantly share code, notes, and snippets.

@chaptergy
Created August 4, 2021 09:37
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chaptergy/a8b28330b74159355f5ecc5ffa488b17 to your computer and use it in GitHub Desktop.
Save chaptergy/a8b28330b74159355f5ecc5ffa488b17 to your computer and use it in GitHub Desktop.
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$"
}
]
},
"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