certificates.json 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. {
  2. "$schema": "http://json-schema.org/draft-07/schema#",
  3. "$id": "endpoints/certificates",
  4. "title": "Certificates",
  5. "description": "Endpoints relating to Certificates",
  6. "stability": "stable",
  7. "type": "object",
  8. "definitions": {
  9. "id": {
  10. "$ref": "../definitions.json#/definitions/id"
  11. },
  12. "created_on": {
  13. "$ref": "../definitions.json#/definitions/created_on"
  14. },
  15. "modified_on": {
  16. "$ref": "../definitions.json#/definitions/modified_on"
  17. },
  18. "provider": {
  19. "$ref": "../definitions.json#/definitions/ssl_provider"
  20. },
  21. "nice_name": {
  22. "type": "string",
  23. "description": "Nice Name for the custom certificate"
  24. },
  25. "domain_names": {
  26. "$ref": "../definitions.json#/definitions/domain_names"
  27. },
  28. "expires_on": {
  29. "description": "Date and time of expiration",
  30. "format": "date-time",
  31. "readOnly": true,
  32. "type": "string"
  33. },
  34. "meta": {
  35. "type": "object",
  36. "additionalProperties": false,
  37. "properties": {
  38. "letsencrypt_email": {
  39. "type": "string",
  40. "format": "email"
  41. },
  42. "letsencrypt_agree": {
  43. "type": "boolean"
  44. },
  45. "dns_challenge": {
  46. "type": "boolean"
  47. },
  48. "dns_provider": {
  49. "type": "string"
  50. },
  51. "dns_provider_credentials": {
  52. "type": "string"
  53. },
  54. "propagation_seconds": {
  55. "anyOf": [
  56. {
  57. "type": "integer",
  58. "minimum": 0
  59. }
  60. ]
  61. }
  62. }
  63. }
  64. },
  65. "properties": {
  66. "id": {
  67. "$ref": "#/definitions/id"
  68. },
  69. "created_on": {
  70. "$ref": "#/definitions/created_on"
  71. },
  72. "modified_on": {
  73. "$ref": "#/definitions/modified_on"
  74. },
  75. "provider": {
  76. "$ref": "#/definitions/provider"
  77. },
  78. "nice_name": {
  79. "$ref": "#/definitions/nice_name"
  80. },
  81. "domain_names": {
  82. "$ref": "#/definitions/domain_names"
  83. },
  84. "expires_on": {
  85. "$ref": "#/definitions/expires_on"
  86. },
  87. "meta": {
  88. "$ref": "#/definitions/meta"
  89. }
  90. },
  91. "links": [
  92. {
  93. "title": "List",
  94. "description": "Returns a list of Certificates",
  95. "href": "/nginx/certificates",
  96. "access": "private",
  97. "method": "GET",
  98. "rel": "self",
  99. "http_header": {
  100. "$ref": "../examples.json#/definitions/auth_header"
  101. },
  102. "targetSchema": {
  103. "type": "array",
  104. "items": {
  105. "$ref": "#/properties"
  106. }
  107. }
  108. },
  109. {
  110. "title": "Create",
  111. "description": "Creates a new Certificate",
  112. "href": "/nginx/certificates",
  113. "access": "private",
  114. "method": "POST",
  115. "rel": "create",
  116. "http_header": {
  117. "$ref": "../examples.json#/definitions/auth_header"
  118. },
  119. "schema": {
  120. "type": "object",
  121. "additionalProperties": false,
  122. "required": [
  123. "provider"
  124. ],
  125. "properties": {
  126. "provider": {
  127. "$ref": "#/definitions/provider"
  128. },
  129. "nice_name": {
  130. "$ref": "#/definitions/nice_name"
  131. },
  132. "domain_names": {
  133. "$ref": "#/definitions/domain_names"
  134. },
  135. "meta": {
  136. "$ref": "#/definitions/meta"
  137. }
  138. }
  139. },
  140. "targetSchema": {
  141. "properties": {
  142. "$ref": "#/properties"
  143. }
  144. }
  145. },
  146. {
  147. "title": "Delete",
  148. "description": "Deletes a existing Certificate",
  149. "href": "/nginx/certificates/{definitions.identity.example}",
  150. "access": "private",
  151. "method": "DELETE",
  152. "rel": "delete",
  153. "http_header": {
  154. "$ref": "../examples.json#/definitions/auth_header"
  155. },
  156. "targetSchema": {
  157. "type": "boolean"
  158. }
  159. }
  160. ]
  161. }