certificates.json 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. "cloudflare_use": {
  46. "type": "boolean"
  47. },
  48. "cloudflare_token": {
  49. "type": "string"
  50. }
  51. }
  52. }
  53. },
  54. "properties": {
  55. "id": {
  56. "$ref": "#/definitions/id"
  57. },
  58. "created_on": {
  59. "$ref": "#/definitions/created_on"
  60. },
  61. "modified_on": {
  62. "$ref": "#/definitions/modified_on"
  63. },
  64. "provider": {
  65. "$ref": "#/definitions/provider"
  66. },
  67. "nice_name": {
  68. "$ref": "#/definitions/nice_name"
  69. },
  70. "domain_names": {
  71. "$ref": "#/definitions/domain_names"
  72. },
  73. "expires_on": {
  74. "$ref": "#/definitions/expires_on"
  75. },
  76. "meta": {
  77. "$ref": "#/definitions/meta"
  78. }
  79. },
  80. "links": [
  81. {
  82. "title": "List",
  83. "description": "Returns a list of Certificates",
  84. "href": "/nginx/certificates",
  85. "access": "private",
  86. "method": "GET",
  87. "rel": "self",
  88. "http_header": {
  89. "$ref": "../examples.json#/definitions/auth_header"
  90. },
  91. "targetSchema": {
  92. "type": "array",
  93. "items": {
  94. "$ref": "#/properties"
  95. }
  96. }
  97. },
  98. {
  99. "title": "Create",
  100. "description": "Creates a new Certificate",
  101. "href": "/nginx/certificates",
  102. "access": "private",
  103. "method": "POST",
  104. "rel": "create",
  105. "http_header": {
  106. "$ref": "../examples.json#/definitions/auth_header"
  107. },
  108. "schema": {
  109. "type": "object",
  110. "additionalProperties": false,
  111. "required": [
  112. "provider"
  113. ],
  114. "properties": {
  115. "provider": {
  116. "$ref": "#/definitions/provider"
  117. },
  118. "nice_name": {
  119. "$ref": "#/definitions/nice_name"
  120. },
  121. "domain_names": {
  122. "$ref": "#/definitions/domain_names"
  123. },
  124. "meta": {
  125. "$ref": "#/definitions/meta"
  126. }
  127. }
  128. },
  129. "targetSchema": {
  130. "properties": {
  131. "$ref": "#/properties"
  132. }
  133. }
  134. },
  135. {
  136. "title": "Delete",
  137. "description": "Deletes a existing Certificate",
  138. "href": "/nginx/certificates/{definitions.identity.example}",
  139. "access": "private",
  140. "method": "DELETE",
  141. "rel": "delete",
  142. "http_header": {
  143. "$ref": "../examples.json#/definitions/auth_header"
  144. },
  145. "targetSchema": {
  146. "type": "boolean"
  147. }
  148. }
  149. ]
  150. }