certificates.json 3.4 KB

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