{
  "openapi": "3.0.0",
  "info": {
    "description": "## Authentication\n\nMost of the API calls that Stream uses require you to be authenticated to the API.\nThe first authentication can either be done through the use of an X509 certificate or using credentials of an account, but every single API call afterwards will need to bear the authentication information nonetheless.\nRegardless of the chosen authentication method, the authorization used must have sufficient permissions to perform the desired operation.\n\n> **NOTE:** Stream can be configured to only allow [X509 Authentication](#x509Authentication)\n\n### Authenticating using API-ID and API-KEY <a name=\"apiid-apikey-authentication\"></a>\n\nThis method of authentication requires you to send your Stream local account credentials as HTTP headers.\nTo check whether the credentials are correct, you can perform a *GET* request on `/api/v1/security/principals/self` and check for the response status:\n```shell\n $ curl https://stream.evertrust.fr/api/v1/security/principals/self -H \"X-API-ID: administrator\" -H \"X-API-KEY: Stream\" -H \"Accept: application/json\"\n```\n\nPossible responses are:\n\n| HTTP Response code | Additional information                                                   |\n|--------------------|--------------------------------------------------------------------------|\n| 200                | The login information were correct                                       |\n| 401                | Authentication error, please refer to the response body for more details |\n\n### Authenticating using an X509 certificate <a name=\"x509Authentication\"></a>\n\nThis method of authentication requires to have an X509 certificate that has the clientAuth EKU and a Stream X509 account with this certificate's Distinguished Name as identifier.\nIt also requires you to have imported the CA that issued this certificate in Stream and turning on the \"Trusted for client authentication\" switch on that CA.\nYou must then present the certificate on the request you are performing.\n\nTo check for the authentication, you can perform a *GET* request on `/api/v1/security/principals/self` :\n\n```shell\n $ curl https://stream.evertrust.fr/api/v1/security/principals/self --cert Stream-login-dev-guide.pem --key Stream-login-dev-guide.key -H \"Accept: application/json\"\n```\n\n\nPossible responses are:\n\n| HTTP Response code | Additional information                                                   |\n|--------------------|--------------------------------------------------------------------------|\n| 200                | The login information were correct                                       |\n| 401                | Authentication error, please refer to the response body for more details |\n\n### Handling next authentications using the Play Session\n\nOnce the first authentication is done, the API generates a cookie called \"PLAY_SESSION\".\nThis cookie holds the authentication information that was used to make the first login (using either previously mentioned method). To save its value for later use, just append the _-c cookies.txt_ to either of the previous curl requests.\nInstead of using the credentials as headers or passing the certificate at each API call, you can use the cookie :\n\n```shell\n $ curl https://stream.evertrust.fr/api/v1/security/principals/self -b cookies.txt -H \"Accept: application/json\"\n```\n### Handling the CSRF Token <a name=\"csrf-token\"></a>\nUsually CSRF tokens are used to protect the api calls coming from frontend. A CSRF token is required when all the following are true:\n- The request method is not GET, HEAD or OPTIONS.\n- The request has one or more Cookie or Authorization headers (like the **basic authentication** header)\n\nYou will receive the following response if a CSRF token is needed but not provided:\n\n<a name=\"Unauthorized-html\"></a>\n```html\n<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n\t<title>Unauthorized</title>\n\n\t<style type=\"text/css\">\n\t\thtml,\n\t\tbody,\n\t\tpre {\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tfont-family: Monaco, 'Lucida Console', monospace;\n\t\t\tbackground: #ECECEC;\n\t\t}\n\n\t\th1 {\n\t\t\tmargin: 0;\n\t\t\tbackground: #333;\n\t\t\tpadding: 20px 45px;\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 1px 1px 1px rgba(0, 0, 0, .3);\n\t\t\tborder-bottom: 1px solid #111;\n\t\t\tfont-size: 28px;\n\t\t}\n\n\t\tp#detail {\n\t\t\tmargin: 0;\n\t\t\tpadding: 15px 45px;\n\t\t\tbackground: #888;\n\t\t\tborder-top: 4px solid #666;\n\t\t\tcolor: #111;\n\t\t\ttext-shadow: 1px 1px 1px rgba(255, 255, 255, .3);\n\t\t\tfont-size: 14px;\n\t\t\tborder-bottom: 1px solid #333;\n\t\t}\n\t</style>\n</head>\n\n<body>\n\t<h1>Unauthorized</h1>\n\t<p id=\"detail\">\n\t\tYou must be authenticated to access this page.\n\t</p>\n</body>\n\n</html>\n```\n\nREST API are usually stateless and should not need cookies. The authentication [using API-ID and API-KEY](#apiid-apikey-authentication) should be used instead of the basic authentication.\n\nCookies and basic authentication can still be used, in this case you will need to retrieve the token value in the `csrf-token` cookie and put it in a `csrf-token` header as well as sending the cookie back.\n\nThe following part is an example using curl to see how to retrieve the `csrf-token` cookies.\n\nFirst, we make a call to the self api to retrieve the cookies.\n```shell\n $ curl --location 'localhost:9000/api/v1/security/principals/self' --header 'Authorization: Basic YWRtaW5pc3RyYXRvcjpldmVydHJ1c3Q=' -c cookies.txt \n```\n\nOpen the `cookies.txt` file, a csrf-token should be present.\n```text\n# Netscape HTTP Cookie File\n# https://curl.se/docs/http-cookies.html\n# This file was generated by libcurl! Edit at your own risk.\n\n#HttpOnly_localhost     FALSE   /       FALSE   1695723782      PLAY_SESSION    eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImlkZW50aWZpZXIiOiJhZG1pbmlzdHJhdG9yIiwibmFtZSI6Ikhvcml6b24gQWRtaW5pc3RyYXRvciIsImlkcFR5cGUiOiJMb2NhbCIsImlkcE5hbWUiOiJsb2NhbCJ9LCJleHAiOjE2OTU3MjM3ODIsIm5iZiI6MTY5NTcyMjg4MiwiaWF0IjoxNjk1NzIyODgyfQ.6hEmvv2Wh68_k2YN3yENOmzikYZigWCcze64PTO_ooE\nlocalhost       FALSE   /       FALSE   0       csrf-token      a7083748beeacdb69d46d27175b357781b5b08c2-1695721881474-92cd447c063b9a12498197d4\n\n```\n\nNow we try to create a user with curl using cookies without the `csrf-token` header.\n\n```shell\n$ curl  --location 'localhost:9000/api/v1/security/principalinfos' --header 'Authorization: Basic YWRtaW5pc3RyYXRvcjpldmVydHJ1c3Q=' --data '{\"identifier\": \"test-user\",\"permissions\": [{\"value\": \"configuration:*\"}]}' -c cookies.txt -b cookies.txt\n```\n\nThe [Unauthorized](#Unauthorized-html) html page appears.\n\nTo validate the csrf token, we need to send the request with a `csrf-token` header containing the token value in the ` csrf-token` cookie.\n\n```shell\n$ curl  --location 'localhost:9000/api/v1/security/principalinfos' --header 'Authorization: Basic YWRtaW5pc3RyYXRvcjpldmVydHJ1c3Q=' --header 'Content-Type: application/json' --header 'csrf-token: a7083748beeacdb69d46d27175b357781b5b08c2-1695721881474-92cd447c063b9a12498197d4' --data '{\"identifier\": \"test-user\",\"permissions\": [{\"value\": \"configuration:*\"}]}' -c cookies.txt -b cookies.txt\n```\n\nThe API should not return the [Unauthorized](#Unauthorized-html) html page. ",
    "title": "Stream API",
    "version": "2.1.0"
  },
  "servers": [
    {
      "url": "http://localhost:9000",
      "description": "local server"
    }
  ],
  "security": [
    {
      "apiId": [],
      "apiKey": []
    },
    {
      "cookieAuth": []
    }
  ],
  "tags": [
    {
      "name": "ca",
      "x-displayName": "Certificate Authorities",
      "description": "Certificate Authority API"
    },
    {
      "name": "trustchain",
      "x-displayName": "Trust Chains",
      "description": "Trust Chain API"
    },
    {
      "name": "crl",
      "x-displayName": "CRLs",
      "description": "CRL API"
    },
    {
      "name": "trigger",
      "x-displayName": "Triggers",
      "description": "Triggers are actions executed on an event.\n## Triggers and notifications \n These actions includes two categories:\n- external CRL storages\n- notifications\n\nWhile being very different on the functional side, these two categories follow the same behavior and are both configured using this \n"
    },
    {
      "name": "ssh.ca",
      "x-displayName": "OpenSSH Certificate Authority",
      "description": "OpenSSH Certificate Authority API"
    },
    {
      "name": "ssh.krl",
      "x-displayName": "OpenSSH key revocation list",
      "description": "OpenSSH key revocation list API"
    },
    {
      "name": "ssh.lifecycle",
      "x-displayName": "OpenSSH lifecycle",
      "description": "OpenSSH lifecycle API (enroll, revoke, templates)"
    },
    {
      "name": "ssh.template",
      "x-displayName": "OpenSSH Certificate Templates",
      "description": "Use certificate templates to define which information will be present in the issued ssh certificates."
    },
    {
      "name": "ssh.certificate",
      "x-displayName": "OpenSSH Certificate Information",
      "description": "Search and retrieve ssh certificates"
    },
    {
      "name": "extension.eku",
      "x-displayName": "Extended Key Usages",
      "description": "Extension - Extended Key Usage API"
    },
    {
      "name": "certificate",
      "x-displayName": "Certificate Information",
      "description": "Search and retrieve certificates"
    },
    {
      "name": "template",
      "x-displayName": "Certificate Templates",
      "description": "Use certificate templates to define which information will be present in the issued certificates."
    },
    {
      "name": "crypto.keystore",
      "x-displayName": "Keystores",
      "description": "Keystores hold your private keys in secure environments, and can generate high security keys."
    },
    {
      "name": "crypto.key",
      "x-displayName": "Keys",
      "description": "Keys are the most important secret ensuring integrity and provenance in your infrastructure."
    },
    {
      "name": "crypto.hsm",
      "x-displayName": "Hardware Security Modules",
      "description": "Retrieve information about your Hardware Security Modules"
    },
    {
      "name": "security.identity.local",
      "x-displayName": "Local Identities",
      "description": "A local identity represents a local Stream account, than will both be able to use the Stream APIs and log in to the web UI. You might use local identities for identifying your users but also use them as technical service accounts, for example to allow a third-party client to perform actions on Stream."
    },
    {
      "name": "security.identity.provider",
      "x-displayName": "Identity Providers",
      "description": "An Identity Provider represents a way to authenticate to Stream. Since Stream supports multiple authentication methods (Local account, X509, OpenID connect), it can be configured to enable or disable several of them."
    },
    {
      "name": "security.credential",
      "x-displayName": "Credentials",
      "description": "Credentials regroup all your login information for third parties, and allow the secret to be easily referenced and secured."
    },
    {
      "name": "security.role",
      "x-displayName": "Roles",
      "description": "Use roles to apply a group of permissions to multiple users without having to assign each permission individually."
    },
    {
      "name": "security.principal",
      "x-displayName": "Principals",
      "description": "A security principal represents a logged in user in Stream."
    },
    {
      "name": "security.principalinfo",
      "x-displayName": "Principal Information",
      "description": "Security - Principal Information API"
    },
    {
      "name": "event",
      "x-displayName": "Events",
      "description": "Events are a history of everything that happened on Stream. These contain a lot of details and can be searched on using SEQL (Stream Event Query Language)."
    },
    {
      "name": "event.report",
      "x-displayName": "Event Integrity Reports",
      "description": "The event integrity reports allows the user to check that the event logs were not tampered with. None of these routes are available if chainsign is disabled."
    },
    {
      "name": "system.proxy",
      "x-displayName": "HTTP Proxies",
      "description": "System - Http Proxy API"
    },
    {
      "name": "queue",
      "x-displayName": "Queues",
      "description": "Queue API"
    },
    {
      "name": "license",
      "x-displayName": "License",
      "description": "License API"
    },
    {
      "name": "adoc",
      "x-displayName": "Configuration cookbook",
      "description": "The configuration cookbook APIs allows the user to export in a human-readable format all the configurations applied to the Stream instance."
    },
    {
      "name": "lifecycle",
      "x-displayName": "Certificate Lifecycle",
      "description": "This API allows the management of the certificate lifecycle.\n\nThe lifecycle of a certificate is composed of two steps :\n\n1. The certificate is issued: on an enroll authorized ca using a configured template\n1. The certificate is revoked.\n"
    },
    {
      "name": "rfc5280",
      "x-displayName": "RFC5280",
      "description": "This API reads cryptographic objects and sends them back in the Stream expected format"
    },
    {
      "name": "openssh",
      "x-displayName": "OpenSSH",
      "description": "This API reads openssh cryptographic objects and sends them back in the Stream expected format"
    },
    {
      "name": "system.configuration",
      "x-displayName": "System configuration",
      "description": "System configuration handle global settings for Stream"
    },
    {
      "name": "ocsp.signer",
      "x-displayName": "OCSP Signers",
      "description": "Configure the certificates that sign OCSP requests"
    },
    {
      "name": "timestamping.signer",
      "x-displayName": "Timestamping Signers",
      "description": "Configure the certificates that sign Timestamping requests"
    },
    {
      "name": "timestamping.ntp",
      "x-displayName": "NTP Clients",
      "description": "Configure the NTP required for Timestamping requests"
    },
    {
      "name": "timestamping.authority",
      "x-displayName": "Timestamping Authorities",
      "description": "Configure the Timestamping Authorities required for Timestamping requests"
    }
  ],
  "paths": {
    "/api/v1/adoc": {
      "get": {
        "description": "Generate the configuration cookbook in adoc format based on the principal administration permission(s)",
        "operationId": "adoc.get",
        "parameters": [
          {
            "in": "query",
            "name": "withTrustChains",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The Configuration cookbook"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Adoc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate the configuration cookbook in adoc format",
        "tags": [
          "adoc"
        ]
      }
    },
    "/api/v1/cas": {
      "get": {
        "description": "List the Certificate Authority(ies)",
        "operationId": "ca.list",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "required": false,
            "schema": {
              "enum": [
                "external",
                "managed"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/ExternalCertificateAuthorityResponse"
                      },
                      {
                        "$ref": "#/components/schemas/ManagedCertificateAuthorityResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Certificate Authority list"
          },
          "204": {
            "description": "No Certificate Authority defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the Certificate Authority(ies)",
        "tags": [
          "ca"
        ]
      },
      "post": {
        "description": "Register a new Certificate Authority",
        "operationId": "ca.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExternalCertificateAuthorityRequest"
                  },
                  {
                    "$ref": "#/components/schemas/ManagedCertificateAuthorityRequest"
                  }
                ]
              }
            }
          },
          "description": "Certificate Authority to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalCertificateAuthorityResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ManagedCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "Certificate Authority successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new Certificate Authority",
        "tags": [
          "ca"
        ]
      },
      "put": {
        "description": "Update an existing Certificate Authority",
        "operationId": "ca.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ExternalCertificateAuthorityRequest"
                  },
                  {
                    "$ref": "#/components/schemas/ManagedCertificateAuthorityRequest"
                  }
                ]
              }
            }
          },
          "description": "Certificate Authority to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalCertificateAuthorityResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ManagedCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "Certificate Authority successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing Certificate Authority",
        "tags": [
          "ca"
        ]
      }
    },
    "/api/v1/cas/{name}": {
      "delete": {
        "description": "Delete an existing Certificate Authority based on its name",
        "operationId": "ca.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Certificate Authority successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing Certificate Authority",
        "tags": [
          "ca"
        ]
      },
      "get": {
        "description": "Retrieve an existing Certificate Authority based on its name",
        "operationId": "ca.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/ExternalCertificateAuthorityResponse"
                    },
                    {
                      "$ref": "#/components/schemas/ManagedCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "The Certificate Authority"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing Certificate Authority",
        "tags": [
          "ca"
        ]
      },
      "patch": {
        "description": "Migrate an existing External Certificate Authority based on its name",
        "operationId": "ca.migrate",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignerPrivateKeys"
              }
            }
          },
          "description": "The private keys to associate with the external CA",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCertificateAuthorityResponse"
                }
              }
            },
            "description": "The migrated Certificate Authority"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca011"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca012"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Migrate an existing External Certificate Authority",
        "tags": [
          "ca"
        ]
      }
    },
    "/api/v1/cas/{name}/csr": {
      "get": {
        "description": "Generate a certification request (PKCS#10) for an existing Certificate Authority based on its name",
        "operationId": "ca.csr",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pkcs10": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The Certificate Authority certification request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate a certification request for an existing Certificate Authority",
        "tags": [
          "ca"
        ]
      }
    },
    "/api/v1/cas/{name}/issue": {
      "post": {
        "description": "Issue a new Certificate Authority",
        "operationId": "ca.issue",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CaEnrollmentRequest"
              }
            }
          },
          "description": "Certificate Authority enrollment request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagedCertificateAuthority"
                }
              }
            },
            "description": "Certificate Authority successfully issued"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca014"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca015"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca016"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Issue a new Certificate Authority",
        "tags": [
          "ca"
        ]
      }
    },
    "/api/v1/cas/{name}/crl": {
      "get": {
        "description": "Request the generation of a new CRL for the considered Certificate Authority. The CRL generation is asynchronous and will be performed at the earliest oppotunity. Regarding the lazy parameter:\n  - If lazy is not specified of set to false, a new CRL will be issued\n  - If lazy is set to true, a new CRL will be issued only if at least one certificate was revoked since the last CRL generation\n",
        "operationId": "ca.crl.gen",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lazy",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "CRL generation was successfully requested"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca013"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca014"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca016"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "CRL generation request for the considered Certificate Authority",
        "tags": [
          "ca"
        ]
      },
      "post": {
        "description": "Upload a CRL for an external Certificate Authority. one cannot uplaod CRL for managed Certificate Authority",
        "operationId": "ca.crl.upload",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "crl": {
                    "format": "binary",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The *CRL* file in PEM or DER (binary) format",
          "required": true
        },
        "responses": {
          "204": {
            "description": "CRL was successfully uploaded"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Upload a CRL for an external Certificate Authority",
        "tags": [
          "ca"
        ]
      }
    },
    "/api/v1/ssh/cas": {
      "get": {
        "description": "List the OpenSSH Certificate Authority(ies)",
        "operationId": "ssh.ca.list",
        "tags": [
          "ssh.ca"
        ],
        "summary": "List the OpenSSH Certificate Authority(ies)",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SSHCertificateAuthorityResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "OpenSSH Certificate Authority list"
          },
          "204": {
            "description": "No OpenSSH Certificate Authority defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        }
      },
      "post": {
        "description": "Register a new Certificate Authority",
        "operationId": "ssh.ca.add",
        "tags": [
          "ssh.ca"
        ],
        "summary": "Register a new Certificate Authority",
        "requestBody": {
          "description": "OpenSSH Certificate Authority to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SSHCertificateAuthorityRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OpenSSH Certificate Authority successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SSHCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Update an existing Certificate Authority",
        "operationId": "ssh.ca.update",
        "tags": [
          "ssh.ca"
        ],
        "requestBody": {
          "description": "OpenSSH Certificate Authority to update",
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SSHCertificateAuthorityRequest"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "summary": "Update an existing OpenSSH Certificate Authority",
        "responses": {
          "200": {
            "description": "OpenSSH Certificate Authority successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SSHCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/cas/{name}": {
      "delete": {
        "description": "Delete an existing OpenSSH Certificate Authority based on its name",
        "operationId": "ssh.ca.delete",
        "summary": "Delete an existing Certificate Authority",
        "tags": [
          "ssh.ca"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OpenSSH Certificate Authority successfully deleted"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        }
      },
      "get": {
        "description": "Retrieve an existing OpenSSH Certificate Authority based on its name",
        "operationId": "ssh.ca.get",
        "summary": "Retrieve an existing Certificate Authority",
        "tags": [
          "ssh.ca"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The Certificate Authority",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/SSHCertificateAuthorityResponse"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/cas/{name}/krl": {
      "get": {
        "description": "Request the generation of a new KRL for the considered Certificate Authority. \nThe KRL generation is asynchronous and will be performed at the earliest oppotunity. \nRegarding the lazy parameter:\n  - If lazy is not specified of set to false, a new KRL will be issued  \n  - If lazy is set to true, a new KRL will be issued only if at least one certificate was revoked since the last KRL generation\n",
        "operationId": "ssh.ca.krl.gen",
        "tags": [
          "ssh.ca"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "lazy",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            }
          }
        ],
        "summary": "KRL generation request for the considered Certificate Authority",
        "responses": {
          "204": {
            "description": "KRL generation was successfully requested"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/krls": {
      "get": {
        "description": "List the KRL Information",
        "operationId": "ssh.krl.list",
        "summary": "List the KRL Information",
        "tags": [
          "ssh.krl"
        ],
        "responses": {
          "200": {
            "description": "KRL Information list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KRLInfo"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No KRL Information"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Krl001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/krls/{ca}": {
      "get": {
        "description": "Retrieve the KRL Information for a specific Certificate Authority",
        "operationId": "ssh.krl.get",
        "summary": "Retrieve the KRL Information for a specific Certificate Authority",
        "tags": [
          "ssh.krl"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "ca",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The KRL Information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/KRLInfo"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Krl001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/lifecycle/templates": {
      "get": {
        "description": "Before starting a lifecycle operation, a principal can list the Certificate Authority / Template combinations on which it is allowed to perform the specified lifecycle action.",
        "operationId": "ssh.lifecycle.list",
        "summary": "List authorized Certificate Authorities / Templates for a lifecycle action",
        "tags": [
          "ssh.lifecycle"
        ],
        "parameters": [
          {
            "in": "query",
            "name": "permission",
            "required": false,
            "description": "The action on which the principal wants to check its permissions. If none are specified, defaults to `search`",
            "schema": {
              "enum": [
                "enroll",
                "revoke",
                "search"
              ],
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of authorized Certificate Authorities / Templates combinations on which the principal is permitted to perform the requested action",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "ca": {
                        "type": "string",
                        "description": "The name of the Certificate Authority",
                        "example": "SSHTemplate"
                      },
                      "template": {
                        "type": "string",
                        "description": "The name of the template",
                        "example": "SSHCa"
                      }
                    },
                    "required": [
                      "ca",
                      "template"
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "Principal is not authorized to enroll/search or revoke on any Certificate Authority / Template combination\n"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/lifecycle/enroll": {
      "post": {
        "description": "Enroll an OpenSSH certificate",
        "operationId": "ssh.lifecycle.enroll",
        "summary": "Enroll an OpenSSH certificate",
        "tags": [
          "ssh.lifecycle"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SSHEnrollmentRequest"
              }
            }
          },
          "description": "OpenSSH certificate enrollment request",
          "required": true
        },
        "responses": {
          "201": {
            "description": "OpenSSH Certificate successfully enrolled",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificate"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCa003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/lifecycle/revoke": {
      "post": {
        "description": "Revoke a certificate",
        "operationId": "ssh.lifecycle.revoke",
        "summary": "Revoke a certificate",
        "tags": [
          "ssh.lifecycle"
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SSHRevocationRequestWithCertificate"
                  },
                  {
                    "$ref": "#/components/schemas/SSHRevocationRequestWithSerialAndCa"
                  }
                ]
              }
            }
          },
          "description": "Certificate revocation request",
          "required": true
        },
        "responses": {
          "200": {
            "description": "Certificate successfully revoked",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificate"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHLifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/templates": {
      "get": {
        "description": "List the existing OpenSSH certificate template(s)",
        "operationId": "ssh.template.certificate.list",
        "summary": "List the existing certificate template(s)",
        "tags": [
          "ssh.template"
        ],
        "responses": {
          "200": {
            "description": "OpenSSH Certificate template(s) list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SSHCertificateTemplateResponse"
                      }
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "No certificate template defined"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "description": "Register a new OpenSSH certificate template",
        "operationId": "ssh.template.certificate.add",
        "summary": "Register a new certificate template",
        "tags": [
          "ssh.template"
        ],
        "requestBody": {
          "description": "Certificate template to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SSHCertificateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Certificate template successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateTemplateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "description": "Update an existing OpenSSH certificate template",
        "operationId": "ssh.template.certificate.update",
        "summary": "Update an existing certificate template",
        "tags": [
          "ssh.template"
        ],
        "requestBody": {
          "description": "The certificate template to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SSHCertificateTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Certificate template successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateTemplateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/templates/{name}": {
      "get": {
        "description": "Retrieve an existing OpenSSH certificate template based on its name",
        "operationId": "ssh.template.certificate.get",
        "summary": "Retrieve an existing certificate template",
        "tags": [
          "ssh.template"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The certificate template",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateTemplateResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "delete": {
        "description": "Delete an existing OpenSSH certificate template based on its name",
        "operationId": "ssh.template.certificate.delete",
        "summary": "Delete an existing certificate template",
        "tags": [
          "ssh.template"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Certificate template successfully deleted"
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/certificates/{id}": {
      "get": {
        "description": "Retrieve an OpenSSH certificate based on its id",
        "operationId": "ssh.certificate.get",
        "summary": "Retrieve a certificate",
        "tags": [
          "ssh.certificate"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "description": "The Id of the certificate to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The certificate with the associated permissions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateWithPermissions"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/certificates/search": {
      "post": {
        "description": "Search for openssh certificates using a certificate search query",
        "operationId": "ssh.certificate.search",
        "summary": "Search for OpenSSH certificates",
        "tags": [
          "ssh.certificate"
        ],
        "requestBody": {
          "description": "The certificate search query",
          "required": true,
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SSHCertificateSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateSearchResults"
                }
              }
            },
            "description": "The certificate search results"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Sql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ssh/certificates/aggregate": {
      "post": {
        "description": "Aggregate on OpenSSH certificates using a certificate aggregation query",
        "operationId": "ssh.certificate.aggregate",
        "summary": "Aggregate OpenSSH certificates",
        "tags": [
          "ssh.certificate"
        ],
        "requestBody": {
          "required": true,
          "description": "The certificate aggregation query",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SSHCertificateAggregateQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The aggregation result",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SSHCertificateAggregateResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Sql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal Server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SSHCert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/ocsp/signers": {
      "get": {
        "description": "List the OCSP Signer(s)",
        "operationId": "ocsp.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/OCSPSignerResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "OCSP Signer list"
          },
          "204": {
            "description": "No OCSP Signer defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the OCSP Signer(s)",
        "tags": [
          "ocsp.signer"
        ]
      },
      "post": {
        "description": "Register a new OCSP Signer",
        "operationId": "ocsp.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/OCSPSigner"
                  }
                ]
              }
            }
          },
          "description": "OCSP Signer to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/OCSPSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "OCSP Signer successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new OCSP Signer",
        "tags": [
          "ocsp.signer"
        ]
      },
      "put": {
        "description": "Update an existing OCSP Signer",
        "operationId": "ocsp.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/OCSPSigner"
                  }
                ]
              }
            }
          },
          "description": "OCSP Signer to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/OCSPSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "OCSP Signer successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing OCSP Signer",
        "tags": [
          "ocsp.signer"
        ]
      }
    },
    "/api/v1/ocsp/signers/{name}": {
      "get": {
        "description": "Retrieve an existing OCSP Signer based on its name",
        "operationId": "ocsp.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/OCSPSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "The OCSP Signer"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing OCSP Signer",
        "tags": [
          "ocsp.signer"
        ]
      },
      "delete": {
        "description": "Delete an existing OCSP Signer based on its name",
        "operationId": "ocsp.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OCSP Signer successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing OCSP Signer",
        "tags": [
          "ocsp.signer"
        ]
      }
    },
    "/api/v1/ocsp/signers/{name}/csr": {
      "get": {
        "description": "Generate a certification request (PKCS#10) for an existing OCSP Signer based on its name",
        "operationId": "ocsp.csr",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pkcs10": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The OCSP Signer certification request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OCSPSigner006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate a certification request for an existing OCSP Signer",
        "tags": [
          "ocsp.signer"
        ]
      }
    },
    "/api/v1/timestamping/signers": {
      "get": {
        "description": "List the Timestamping Signer(s)",
        "operationId": "timestamping.signer.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TimestampingSignerResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Timestamping Signer list"
          },
          "204": {
            "description": "No Timestamping Signer defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the Timestamping Signer(s)",
        "tags": [
          "timestamping.signer"
        ]
      },
      "post": {
        "description": "Register a new Timestamping Signer",
        "operationId": "timestamping.signer.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TimestampingSigner"
                  }
                ]
              }
            }
          },
          "description": "Timestamping Signer to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "Timestamping Signer successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new Timestamping Signer",
        "tags": [
          "timestamping.signer"
        ]
      },
      "put": {
        "description": "Update an existing Timestamping Signer",
        "operationId": "timestamping.signer.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TimestampingSigner"
                  }
                ]
              }
            }
          },
          "description": "Timestamping Signer to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "Timestamping Signer successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing Timestamping Signer",
        "tags": [
          "timestamping.signer"
        ]
      }
    },
    "/api/v1/timestamping/signers/{name}": {
      "get": {
        "description": "Retrieve an existing Timestamping Signer based on its name",
        "operationId": "timestamping.signer.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingSignerResponse"
                    }
                  ]
                }
              }
            },
            "description": "The Timestamping Signer"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing Timestamping Signer",
        "tags": [
          "timestamping.signer"
        ]
      },
      "delete": {
        "description": "Delete an existing Timestamping Signer based on its name",
        "operationId": "timestamping.signer.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Timestamping Signer successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing Timestamping Signer",
        "tags": [
          "timestamping.signer"
        ]
      }
    },
    "/api/v1/timestamping/signers/{name}/csr": {
      "get": {
        "description": "Generate a certification request (PKCS#10) for an existing Timestamping Signer based on its name",
        "operationId": "timestamping.signer.csr",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pkcs10": {
                "schema": {
                  "format": "binary",
                  "type": "string"
                }
              }
            },
            "description": "The Timestamping Signer certification request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingSigner006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate a certification request for an existing Timestamping Signer",
        "tags": [
          "timestamping.signer"
        ]
      }
    },
    "/api/v1/timestamping/ntps": {
      "get": {
        "description": "List the NTP Client(s)",
        "operationId": "timestamping.ntp.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/NTPClientResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "NTP Client list"
          },
          "204": {
            "description": "No NTP Client defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the NTP Client(s)",
        "tags": [
          "timestamping.ntp"
        ]
      },
      "post": {
        "description": "Register a new NTP Client",
        "operationId": "timestamping.ntp.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NTPClient"
                  }
                ]
              }
            }
          },
          "description": "NTP Client to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NTPClientResponse"
                    }
                  ]
                }
              }
            },
            "description": "NTP Client successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new NTP Client",
        "tags": [
          "timestamping.ntp"
        ]
      },
      "put": {
        "description": "Update an existing NTP Client",
        "operationId": "timestamping.ntp.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NTPClient"
                  }
                ]
              }
            }
          },
          "description": "NTP Client to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NTPClientResponse"
                    }
                  ]
                }
              }
            },
            "description": "NTP Client successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing NTP Client",
        "tags": [
          "timestamping.ntp"
        ]
      }
    },
    "/api/v1/timestamping/ntps/{name}": {
      "get": {
        "description": "Retrieve an existing NTP Client based on its name",
        "operationId": "timestamping.ntp.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/NTPClientResponse"
                    }
                  ]
                }
              }
            },
            "description": "The NTP Client"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing NTP Client",
        "tags": [
          "timestamping.ntp"
        ]
      },
      "delete": {
        "description": "Delete an existing NTP Client based on its name",
        "operationId": "timestamping.ntp.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "NTP Client successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ntp001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing NTP Client",
        "tags": [
          "timestamping.ntp"
        ]
      }
    },
    "/api/v1/timestamping/authorities": {
      "get": {
        "description": "List the Timestamping Authorities(s)",
        "operationId": "timestamping.authority.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TimestampingAuthorityResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Timestamping Authorities list"
          },
          "204": {
            "description": "No Timestamping Authorities defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the Timestamping Authorities(s)",
        "tags": [
          "timestamping.authority"
        ]
      },
      "post": {
        "description": "Register a new Timestamping Authorities",
        "operationId": "timestamping.authority.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TimestampingAuthority"
                  }
                ]
              }
            }
          },
          "description": "Timestamping Authorities to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "Timestamping Authorities successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new Timestamping Authorities",
        "tags": [
          "timestamping.authority"
        ]
      },
      "put": {
        "description": "Update an existing Timestamping Authorities",
        "operationId": "timestamping.authority.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TimestampingAuthority"
                  }
                ]
              }
            }
          },
          "description": "Timestamping Authorities to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "Timestamping Authorities successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing Timestamping Authorities",
        "tags": [
          "timestamping.authority"
        ]
      }
    },
    "/api/v1/timestamping/authorities/{name}": {
      "get": {
        "description": "Retrieve an existing Timestamping Authority based on its name",
        "operationId": "timestamping.authority.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/TimestampingAuthorityResponse"
                    }
                  ]
                }
              }
            },
            "description": "The Timestamping Authority"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing Timestamping Authority",
        "tags": [
          "timestamping.authority"
        ]
      },
      "delete": {
        "description": "Delete an existing Timestamping Authority based on its name",
        "operationId": "timestamping.authority.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Timestamping Authority successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/TimestampingAuthority001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing Timestamping Authority",
        "tags": [
          "timestamping.authority"
        ]
      }
    },
    "/api/v1/triggers": {
      "get": {
        "description": "List the existing trigger(s) with the capability to filter on type and/or module.",
        "operationId": "trigger.list",
        "parameters": [
          {
            "in": "query",
            "name": "types",
            "required": true,
            "schema": {
              "items": {
                "type": "string",
                "enum": [
                  "akv",
                  "aws",
                  "email",
                  "f5client",
                  "intunepkcs",
                  "ldap",
                  "gcm"
                ]
              },
              "type": "array"
            }
          },
          {
            "in": "query",
            "name": "module",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "string",
              "enum": [
                "acme",
                "est",
                "aws",
                "f5client",
                "intune",
                "jamf",
                "scep",
                "wcce",
                "webra",
                "intunepkcs"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/EmailNotification"
                      },
                      {
                        "$ref": "#/components/schemas/REST"
                      },
                      {
                        "$ref": "#/components/schemas/LDAPCRLStorage"
                      },
                      {
                        "$ref": "#/components/schemas/S3CRLStorage"
                      },
                      {
                        "$ref": "#/components/schemas/SCPCRLStorage"
                      },
                      {
                        "$ref": "#/components/schemas/SFTPCRLStorage"
                      },
                      {
                        "$ref": "#/components/schemas/StreamCRLStorage"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Trigger list"
          },
          "204": {
            "description": "No trigger defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing trigger(s)",
        "tags": [
          "trigger"
        ]
      },
      "post": {
        "description": "Register a new trigger",
        "operationId": "trigger.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmailNotification"
                  },
                  {
                    "$ref": "#/components/schemas/REST"
                  },
                  {
                    "$ref": "#/components/schemas/LDAPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/S3CRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/SCPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/SFTPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/StreamCRLStorage"
                  }
                ]
              }
            }
          },
          "description": "The trigger to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/REST"
                    },
                    {
                      "$ref": "#/components/schemas/LDAPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/S3CRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SCPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SFTPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/StreamCRLStorage"
                    }
                  ]
                }
              }
            },
            "description": "Trigger successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new trigger",
        "tags": [
          "trigger"
        ]
      },
      "put": {
        "description": "Update an existing trigger",
        "operationId": "trigger.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/EmailNotification"
                  },
                  {
                    "$ref": "#/components/schemas/REST"
                  },
                  {
                    "$ref": "#/components/schemas/LDAPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/S3CRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/SCPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/SFTPCRLStorage"
                  },
                  {
                    "$ref": "#/components/schemas/StreamCRLStorage"
                  }
                ]
              }
            }
          },
          "description": "Trigger to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/REST"
                    },
                    {
                      "$ref": "#/components/schemas/LDAPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/S3CRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SCPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SFTPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/StreamCRLStorage"
                    }
                  ]
                }
              }
            },
            "description": "Trigger successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing trigger",
        "tags": [
          "trigger"
        ]
      }
    },
    "/api/v1/triggers/{name}": {
      "get": {
        "description": "Retrieve an existing trigger based on its name",
        "operationId": "trigger.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/EmailNotification"
                    },
                    {
                      "$ref": "#/components/schemas/REST"
                    },
                    {
                      "$ref": "#/components/schemas/LDAPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/S3CRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SCPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/SFTPCRLStorage"
                    },
                    {
                      "$ref": "#/components/schemas/StreamCRLStorage"
                    }
                  ]
                }
              }
            },
            "description": "The trigger"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing trigger",
        "tags": [
          "trigger"
        ]
      },
      "delete": {
        "description": "Delete an existing trigger based on its name",
        "operationId": "trigger.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Trigger successfully deleted"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Trig001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing trigger",
        "tags": [
          "trigger"
        ]
      }
    },
    "/api/v1/crls": {
      "get": {
        "description": "List the CRL Information",
        "operationId": "crl.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CRLInfo"
                  },
                  "type": "array"
                }
              }
            },
            "description": "CRL Information list"
          },
          "204": {
            "description": "No CRL Information"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Crl001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the CRL Information",
        "tags": [
          "crl"
        ]
      }
    },
    "/api/v1/crls/{ca}": {
      "get": {
        "description": "Retrieve the CRL Information for a specific Certificate Authority",
        "operationId": "crl.get",
        "parameters": [
          {
            "in": "path",
            "name": "ca",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CRLInfo"
                }
              }
            },
            "description": "The CRL Information"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Crl001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the CRL Information for a specific Certificate Authority",
        "tags": [
          "crl"
        ]
      }
    },
    "/api/v1/crypto/hsms/{library}": {
      "get": {
        "description": "Retrieve the information of an existing hardware security module based on its pkcs11 library",
        "operationId": "crypto.hsm.info",
        "parameters": [
          {
            "in": "path",
            "name": "library",
            "description": "Absolute path to the library on the file system, URL encoded",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HardwareSecurityModuleInfo"
                }
              }
            },
            "description": "The hardware security module information"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hsm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the information of an existing hardware security module",
        "tags": [
          "crypto.hsm"
        ]
      }
    },
    "/api/v1/crypto/hsms/{library}/slots": {
      "get": {
        "description": "Retrieve the slot(s) information of an existing hardware security module based on its pkcs11 library",
        "operationId": "crypto.hsm.slot",
        "parameters": [
          {
            "in": "path",
            "name": "library",
            "description": "Absolute path to the library on the file system, URL encoded",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/HardwareSecurityModuleSlot"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Hardware security module slot list"
          },
          "204": {
            "description": "No hardware security module slot"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Hsm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the slot(s) information of an existing hardware security module",
        "tags": [
          "crypto.hsm"
        ]
      }
    },
    "/api/v1/extension/ekus": {
      "get": {
        "description": "List the existing key usages (standards and custom(s))",
        "operationId": "extension.eku.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ExtendedKeyUsageElement"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Extended key usages"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the extended key usages",
        "tags": [
          "extension.eku"
        ]
      },
      "post": {
        "description": "Register a new custom extended key usage or override the name of a default one",
        "operationId": "extension.eku.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedKeyUsageElement"
              }
            }
          },
          "description": "The custom extended key usage to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedKeyUsageElement"
                }
              }
            },
            "description": "Custom extended key usage successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new custom extended key usage",
        "tags": [
          "extension.eku"
        ]
      },
      "put": {
        "description": "Update an existing custom extended key usage",
        "operationId": "extension.eku.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExtendedKeyUsageElement"
              }
            }
          },
          "description": "The custom extended key usage to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedKeyUsageElement"
                }
              }
            },
            "description": "Custom extended key usage successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing custom extended key usage",
        "tags": [
          "extension.eku"
        ]
      }
    },
    "/api/v1/extension/ekus/{oid}": {
      "delete": {
        "description": "Delete an existing custom extended key usage based on its OID",
        "operationId": "extension.eku.delete",
        "parameters": [
          {
            "in": "path",
            "name": "oid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Custom extended key usage successfully deleted"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing custom extended key usage",
        "tags": [
          "extension.eku"
        ]
      },
      "get": {
        "description": "Retrieve an extended key usage based on its OID",
        "operationId": "extension.eku.get",
        "parameters": [
          {
            "in": "path",
            "name": "oid",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedKeyUsageElement"
                }
              }
            },
            "description": "The extended key usage"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Eku001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an extended key usage",
        "tags": [
          "extension.eku"
        ]
      }
    },
    "/api/v1/licenses": {
      "get": {
        "description": "Return the complete information regarding the license:\n   - License validity\n   - License expiration date\nAlong with the library versions\n",
        "operationId": "license.get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LicenseInfo"
                }
              }
            },
            "description": "License and Library information"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the license information along with library versions",
        "tags": [
          "license"
        ]
      }
    },
    "/api/v1/queues": {
      "get": {
        "description": "List the existing queue(s)",
        "operationId": "queue.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/QueueResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Queue(s) list"
          },
          "204": {
            "description": "No queue defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing queue(s)",
        "tags": [
          "queue"
        ]
      },
      "post": {
        "description": "Register a new queue",
        "operationId": "queue.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Queue"
              }
            }
          },
          "description": "Queue to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueResponse"
                }
              }
            },
            "description": "Queue successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new queue",
        "tags": [
          "queue"
        ]
      },
      "put": {
        "description": "Update an existing queue",
        "operationId": "queue.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Queue"
              }
            }
          },
          "description": "The queue to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueResponse"
                }
              }
            },
            "description": "Queue successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing queue",
        "tags": [
          "queue"
        ]
      }
    },
    "/api/v1/queues/{name}": {
      "delete": {
        "description": "Delete an existing queue based on its name",
        "operationId": "queue.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Queue successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing queue",
        "tags": [
          "queue"
        ]
      },
      "get": {
        "description": "Retrieve an existing queue based on its name",
        "operationId": "queue.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QueueResponse"
                }
              }
            },
            "description": "The queue"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Queue001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing queue",
        "tags": [
          "queue"
        ]
      }
    },
    "/api/v1/security/credentials": {
      "get": {
        "description": "List the existing credential(s)",
        "operationId": "security.credential.list",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "description": "Restrict the list to a specific type of credentials",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CredentialType"
            }
          },
          {
            "in": "query",
            "name": "target",
            "description": "Restrict the list to credentials targeting a specific type of object",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/CredentialProvider"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/RawCredentials"
                      },
                      {
                        "$ref": "#/components/schemas/PasswordCredentials"
                      },
                      {
                        "$ref": "#/components/schemas/X509Credentials"
                      },
                      {
                        "$ref": "#/components/schemas/SshCredentials"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Credential(s) list"
          },
          "204": {
            "description": "No credential defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing credential(s)",
        "tags": [
          "security.credential"
        ]
      },
      "post": {
        "description": "Register a new credential",
        "operationId": "security.credential.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RawCredentialsOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/PasswordCredentialsOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/X509CredentialsOnSubmit"
                  },
                  {
                    "$ref": "#/components/schemas/SshCredentialsOnSubmit"
                  }
                ]
              }
            }
          },
          "description": "Credential to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RawCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/X509Credentials"
                    },
                    {
                      "$ref": "#/components/schemas/SshCredentials"
                    }
                  ]
                }
              }
            },
            "description": "Credential successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new credential",
        "tags": [
          "security.credential"
        ]
      },
      "put": {
        "description": "Update an existing credential",
        "operationId": "security.credential.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RawCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/PasswordCredentials"
                  },
                  {
                    "$ref": "#/components/schemas/X509Credentials"
                  },
                  {
                    "$ref": "#/components/schemas/SshCredentials"
                  }
                ]
              }
            }
          },
          "description": "The credential to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RawCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/X509Credentials"
                    },
                    {
                      "$ref": "#/components/schemas/SshCredentials"
                    }
                  ]
                }
              }
            },
            "description": "Credential successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing credential",
        "tags": [
          "security.credential"
        ]
      }
    },
    "/api/v1/security/credentials/{name}": {
      "get": {
        "description": "Retrieve an existing credential based on its name",
        "operationId": "security.credential.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Name of the credentials to retrieve",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RawCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/PasswordCredentials"
                    },
                    {
                      "$ref": "#/components/schemas/X509Credentials"
                    },
                    {
                      "$ref": "#/components/schemas/SshCredentials"
                    }
                  ]
                }
              }
            },
            "description": "The credential"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing credential",
        "tags": [
          "security.credential"
        ]
      },
      "delete": {
        "description": "Delete an existing credential based on its name",
        "operationId": "security.credential.delete",
        "parameters": [
          {
            "in": "path",
            "description": "Name of the credentials to delete",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Credential successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Credential001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing credential",
        "tags": [
          "security.credential"
        ]
      }
    },
    "/api/v1/system/proxies": {
      "get": {
        "description": "List the existing http proxy(ies)",
        "operationId": "system.proxy.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/HttpProxyResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Http proxy(ies) list"
          },
          "204": {
            "description": "No http proxy defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing http proxy(ies)",
        "tags": [
          "system.proxy"
        ]
      },
      "post": {
        "description": "Register a new http proxy",
        "operationId": "system.proxy.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpProxy"
              }
            }
          },
          "description": "Http proxy to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpProxyResponse"
                }
              }
            },
            "description": "Http proxy successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new http proxy",
        "tags": [
          "system.proxy"
        ]
      },
      "put": {
        "description": "Update an existing http proxy",
        "operationId": "system.proxy.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HttpProxy"
              }
            }
          },
          "description": "The http proxy to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpProxyResponse"
                }
              }
            },
            "description": "Http proxy successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing http proxy",
        "tags": [
          "system.proxy"
        ]
      }
    },
    "/api/v1/system/proxies/{name}": {
      "delete": {
        "description": "Delete an existing http proxy based on its name",
        "operationId": "system.proxy.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Http proxy successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing http proxy",
        "tags": [
          "system.proxy"
        ]
      },
      "get": {
        "description": "Retrieve an existing http proxy based on its name",
        "operationId": "system.proxy.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HttpProxyResponse"
                }
              }
            },
            "description": "The http proxy"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Proxy001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing http proxy",
        "tags": [
          "system.proxy"
        ]
      }
    },
    "/api/v1/trustchains": {
      "get": {
        "description": "List the trust chain",
        "operationId": "trust.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TrustChainAnchor"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Trust chains list"
          },
          "204": {
            "description": "No trust chain"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Tc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the trust chains",
        "tags": [
          "trustchain"
        ]
      }
    },
    "/api/v1/trustchains/{anchor}": {
      "get": {
        "description": "Retrieve the trust chain for a specific Certificate Authority based on the Certificate Authority name",
        "operationId": "trustchain.get",
        "parameters": [
          {
            "in": "path",
            "name": "anchor",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrustChainAnchor"
                }
              }
            },
            "description": "The trust chain"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Tc001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the trust chain for a specific Certificate Authority",
        "tags": [
          "trustchain"
        ]
      }
    },
    "/api/v1/templates": {
      "get": {
        "description": "List the existing certificate template(s)",
        "operationId": "template.certificate.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CertificateTemplateResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Certificate template(s) list"
          },
          "204": {
            "description": "No certificate template defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing certificate template(s)",
        "tags": [
          "template"
        ]
      },
      "post": {
        "description": "Register a new certificate template",
        "operationId": "template.certificate.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateTemplate"
              }
            }
          },
          "description": "Certificate template to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateTemplateResponse"
                }
              }
            },
            "description": "Certificate template successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new certificate template",
        "tags": [
          "template"
        ]
      },
      "put": {
        "description": "Update an existing certificate template",
        "operationId": "template.certificate.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateTemplate"
              }
            }
          },
          "description": "The certificate template to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateTemplateResponse"
                }
              }
            },
            "description": "Certificate template successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing certificate template",
        "tags": [
          "template"
        ]
      }
    },
    "/api/v1/templates/{name}": {
      "get": {
        "description": "Retrieve an existing certificate template based on its name",
        "operationId": "template.certificate.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateTemplateResponse"
                }
              }
            },
            "description": "The certificate template"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing certificate template",
        "tags": [
          "template"
        ]
      },
      "delete": {
        "description": "Delete an existing certificate template based on its name",
        "operationId": "template.certificate.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Certificate template successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing certificate template",
        "tags": [
          "template"
        ]
      }
    },
    "/api/v1/rfc5280/pkcs10/{pem}": {
      "get": {
        "description": "Decode a pkcs#10 (url encoded)",
        "operationId": "rfc5280.pkcs10.pem",
        "parameters": [
          {
            "in": "path",
            "name": "pem",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFCertificationRequest"
                }
              }
            },
            "description": "Decoded pkcs#10"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Decode a pkcs#10 (url encoded)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/pkcs10": {
      "post": {
        "description": "Decode a pkcs#10 (file)",
        "operationId": "rfc5280.pkcs10.file",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "pkcs10": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The pkcs#10 file PEM or DER encoded",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFCertificationRequest"
                }
              }
            },
            "description": "Decoded pkcs#10"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Decode a pkcs#10 (file)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/pkcs12": {
      "post": {
        "description": "Extract the certificate and associated private key from a pkcs#12 (file)",
        "operationId": "rfc5280.pkcs12.file",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "pkcs12": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The pkcs#12 file PEM or DER encoded",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Pkcs12ContentResponse"
                }
              }
            },
            "description": "The content of the pkcs#12"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Extract the certificate and associated private key from a pkcs#12 (file)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/tc/{pem}": {
      "get": {
        "description": "Retrieve the Trust chain from a x509 certificate (url encoded)",
        "operationId": "rfc5280.tc.pem",
        "parameters": [
          {
            "in": "path",
            "name": "pem",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "enum": [
                "rtl",
                "ltr",
                "irtl",
                "iltr"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CFCertificate"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The trust chain bundle including the specified certificate"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the Trust chain from a x509 certificate (url encoded)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/tc": {
      "post": {
        "description": "Retrieve the Trust chain from a x509 certificate (file)",
        "operationId": "rfc5280.tc.file",
        "parameters": [
          {
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "enum": [
                "rtl",
                "ltr",
                "irtl",
                "iltr"
              ],
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "x509": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The x509 certificate file PEM or DER encoded",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/CFCertificate"
                  },
                  "type": "array"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The trust chain bundle including the specified certificate"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the Trust chain from a x509 certificate (file)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/x509/{pem}": {
      "get": {
        "description": "Decode a x509 certificate (url encoded)",
        "operationId": "rfc5280.x509.pem",
        "parameters": [
          {
            "in": "path",
            "name": "pem",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFCertificate"
                }
              }
            },
            "description": "The decoded x509 certificate"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Decode a x509 certificate (url encoded)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/rfc5280/x509": {
      "post": {
        "description": "Decode a x509 certificate (file)",
        "operationId": "rfc5280.x509.file",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "x509": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The x509 certificate file PEM or DER encoded",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFCertificate"
                }
              }
            },
            "description": "The decoded x509 certificate"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Rfc5280002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Decode a x509 certificate (file)",
        "tags": [
          "rfc5280"
        ]
      }
    },
    "/api/v1/openssh/publickey": {
      "post": {
        "operationId": "openssh.pubkey.file",
        "summary": "Parse an openssh public key (file)",
        "tags": [
          "openssh"
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "properties": {
                  "sshPublicKey": {
                    "oneOf": [
                      {
                        "format": "binary",
                        "type": "string"
                      },
                      {
                        "format": "byte",
                        "type": "string"
                      }
                    ]
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "The openssh public key file",
          "required": true
        },
        "responses": {
          "200": {
            "description": "The public key parsed and returned as an openssh public key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFSSHPublicKey"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "publicKey": {
                    "value": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEPjLnOU1Lmc69HUyMnTOZw1CyA9nEx6lAp5FRH+skaFFzjp8Hkk/HYg9eSuU8j6HMHAocynoNkkBeCsPTIvWLs="
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OpenSSH001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/v1/openssh/publickey/{pem}": {
      "get": {
        "operationId": "openssh.pubkey.pem",
        "summary": "Parse an openssh public key (pem)",
        "tags": [
          "openssh"
        ],
        "parameters": [
          {
            "in": "path",
            "name": "pem",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The public key parsed and returned as an openssh public key",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CFSSHPublicKey"
                }
              },
              "text/plain": {
                "schema": {
                  "type": "string"
                },
                "examples": {
                  "publicKey": {
                    "value": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEPjLnOU1Lmc69HUyMnTOZw1CyA9nEx6lAp5FRH+skaFFzjp8Hkk/HYg9eSuU8j6HMHAocynoNkkBeCsPTIvWLs="
                  }
                }
              }
            }
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OpenSSH001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden"
          }
        }
      }
    },
    "/api/v1/certificates/{id}": {
      "get": {
        "description": "Retrieve a certificate based on its id",
        "operationId": "certificate.get",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "description": "The Id of the certificate to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateWithPermissions"
                }
              }
            },
            "description": "The certificate with the associated permissions"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve a certificate",
        "tags": [
          "certificate"
        ]
      }
    },
    "/api/v1/certificates/search": {
      "post": {
        "description": "Search for certificates using a certificate search query",
        "operationId": "certificate.search",
        "requestBody": {
          "content": {
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateSearchQuery"
              }
            }
          },
          "description": "The certificate search query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateSearchResults"
                }
              }
            },
            "description": "The certificate search results"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Sql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Search for certificates",
        "tags": [
          "certificate"
        ]
      }
    },
    "/api/v1/certificates/aggregate": {
      "post": {
        "description": "Aggregate certificate using a certificate aggregation query",
        "operationId": "certificate.aggregate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateAggregateQuery"
              }
            }
          },
          "description": "The certificate aggregation query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CertificateAggregateResult"
                }
              }
            },
            "description": "The aggregation result"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Sql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Cert001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Aggregate certificate",
        "tags": [
          "certificate"
        ]
      }
    },
    "/api/v1/events/{id}": {
      "get": {
        "description": "Retrieve a specific event based on its id",
        "operationId": "event.get",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "description": "The Id of the event to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventResponse"
                }
              }
            },
            "description": "The Event"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve a specific event",
        "tags": [
          "event"
        ]
      }
    },
    "/api/v1/events/search/dictionary": {
      "get": {
        "description": "Return the event search dictionary. The dictionary is computed based on the principal and includes:\n  - The list of event module(s);\n  - The list of event code(s);\n  - The list of event detail(s);\n",
        "operationId": "event.dictionary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSearchDictionary"
                }
              }
            },
            "description": "The event search dictionary"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve the event search dictionary",
        "tags": [
          "event"
        ]
      }
    },
    "/api/v1/events/search": {
      "post": {
        "description": "Search events based on a event search query (SEQL format)",
        "operationId": "event.search",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSearchQuery"
              }
            }
          },
          "description": "The event search query",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventSearchResults"
                }
              }
            },
            "description": "The event search results"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Sql001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Evt001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Event search",
        "tags": [
          "event"
        ]
      }
    },
    "/api/v1/events/integrity": {
      "get": {
        "description": "List the event integrity reports, and automatically checks that no tampering occurred on each report",
        "operationId": "event.report.get",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EventIntegrityReportResponse"
                  }
                }
              }
            },
            "description": "The Event Integrity Reports"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EvtIntegrity002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EvtIntegrity001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List all event integrity reports",
        "tags": [
          "event.report"
        ]
      }
    },
    "/api/v1/events/integrity/run": {
      "get": {
        "parameters": [
          {
            "in": "query",
            "name": "startFrom",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "The id of the event from which to start the scan. If not defined the oldest event will be used."
          }
        ],
        "description": "Run a scan to verify that events were not tampered with.",
        "operationId": "event.report.run",
        "responses": {
          "204": {
            "description": "Run requested successfully"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EvtIntegrity002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EvtIntegrity003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Run an event scan",
        "tags": [
          "event.report"
        ]
      }
    },
    "/api/v1/lifecycle/templates": {
      "get": {
        "description": "Before starting a lifecycle operation, a principal can list the Certificate Authority / Template combinations on which it is allowed to perform the specified lifecycle action.",
        "operationId": "lifecycle.list",
        "parameters": [
          {
            "in": "query",
            "name": "permission",
            "required": false,
            "description": "The action on which the principal wants to check its permissions. If none are specified, defaults to `enroll`",
            "schema": {
              "enum": [
                "enroll",
                "revoke",
                "search"
              ],
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of authorized Certificate Authorities / Templates combinations on which the principal is permitted to perform the requested action",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "properties": {
                      "ca": {
                        "type": "string",
                        "description": "The name of the Certificate Authority",
                        "example": "IssuingCa"
                      },
                      "template": {
                        "type": "string",
                        "description": "The name of the template",
                        "example": "ClientServer"
                      }
                    },
                    "required": [
                      "ca",
                      "template"
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "Principal is not authorized to enroll on any Certificate Authority / Template combination"
          },
          "401": {
            "description": "Unauthorized request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "summary": "List authorized Certificate Authorities / Templates for a lifecycle action",
        "tags": [
          "lifecycle"
        ]
      }
    },
    "/api/v1/lifecycle/enroll": {
      "post": {
        "description": "Enroll a certificate",
        "operationId": "lifecycle.enroll",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnrollmentRequest"
              }
            }
          },
          "description": "Certificate enrollment request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Certificate"
                }
              }
            },
            "description": "Certificate successfully enrolled"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca014"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca015"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CertificateTemplate003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Enroll a certificate",
        "tags": [
          "lifecycle"
        ]
      }
    },
    "/api/v1/lifecycle/revoke": {
      "post": {
        "description": "Revoke a certificate",
        "operationId": "lifecycle.revoke",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/RevocationRequestWithCert"
                  },
                  {
                    "$ref": "#/components/schemas/RevocationRequestWithSerial"
                  }
                ]
              }
            }
          },
          "description": "Certificate revocation request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Certificate"
                }
              }
            },
            "description": "Certificate successfully revoked"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca014"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Ca017"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lifecycle007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Revoke a certificate",
        "tags": [
          "lifecycle"
        ]
      }
    },
    "/api/v1/security/identity/locals": {
      "get": {
        "operationId": "security.identity.local.list",
        "tags": [
          "security.identity.local"
        ],
        "summary": "List local identities",
        "description": "Retrieve the list of all existing local identities.",
        "responses": {
          "200": {
            "description": "Local identity list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/LocalIdentityResponse"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No local identity defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.identity.local.add",
        "tags": [
          "security.identity.local"
        ],
        "summary": "Create a local identity",
        "description": "Create a local identity. On creation, a clear password will be provided. It can then be [reset](#tag/api.security.identity.local/operation/security.identity.local.reset.password).",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocalIdentity"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Local identity successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalIdentityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the local identity",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.identity.local.update",
        "tags": [
          "security.identity.local"
        ],
        "summary": "Update a local identity",
        "description": "Update a local identity",
        "requestBody": {
          "description": "Local identity to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LocalIdentity"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Local identity successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalIdentityResponse"
                }
              }
            }
          },
          "400": {
            "description": "Unable to update local identity",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/identity/locals/{identifier}": {
      "get": {
        "operationId": "security.identity.local.get",
        "tags": [
          "security.identity.local"
        ],
        "summary": "Retrieve a local identity",
        "description": "Given an identifier, retrieve the full Local Identity object using this endpoint.",
        "responses": {
          "200": {
            "description": "The local identity",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LocalIdentityResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier.",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      },
      "delete": {
        "operationId": "security.identity.local.delete",
        "tags": [
          "security.identity.local"
        ],
        "summary": "Delete a local identity",
        "description": "Delete an existing local identity based on its identifier",
        "responses": {
          "204": {
            "description": "Local identity successfully deleted"
          },
          "401": {
            "description": "Authentication error.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier.",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/security/identity/locals/{identifier}/resetpassword": {
      "get": {
        "operationId": "security.identity.local.reset.password",
        "tags": [
          "security.identity.local"
        ],
        "summary": "Reset a local identity password",
        "description": "Given an identifier, reset its password",
        "responses": {
          "200": {
            "description": "The updated local identity with the new password",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/LocalIdentityResponse"
                    }
                  ],
                  "properties": {
                    "password": {
                      "description": "The new local identity password",
                      "type": "string",
                      "example": "zqud2UGudu67gdzuq"
                    }
                  }
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Local identity not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/LocalId001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "description": "Local identity identifier.",
            "example": "administrator",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ]
      }
    },
    "/api/v1/security/identity/providers/dynamic/enabled": {
      "get": {
        "operationId": "security.identity.provider.enabled",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "List the enabled identity provider(s)",
        "description": "Return the list of enabled dynamic identity provider(s)",
        "responses": {
          "200": {
            "description": "Dynamic enabled identity provider list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EnabledIdentityProvider"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No enabled identity provider"
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Identity Provider Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "query",
            "name": "enabledOnUI",
            "schema": {
              "nullable": true,
              "type": "boolean"
            },
            "required": false,
            "description": "Whether the identity provider is visible on the UI"
          }
        ]
      }
    },
    "/api/v1/security/identity/providers": {
      "get": {
        "operationId": "security.identity.provider.list",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "List all the identity provider(s)",
        "description": "List all the existing identity provider(s), regardless of whether they are enabled.",
        "responses": {
          "200": {
            "description": "Identity provider list",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/LocalIdentityProviderResponse"
                      },
                      {
                        "$ref": "#/components/schemas/OidcIdentityProviderResponse"
                      }
                    ]
                  }
                }
              }
            }
          },
          "204": {
            "description": "No identity provider defined or insufficient permissions"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "security.identity.provider.add",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "Create a new identity provider",
        "description": "Create a new identity provider. The identity provider can be either a local identity provider or an OIDC identity provider.",
        "requestBody": {
          "description": "The identity provider to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LocalIdentityProvider"
                  },
                  {
                    "$ref": "#/components/schemas/OidcIdentityProvider"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Identity provider successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/OidcIdentityProviderResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the identity provider",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.identity.provider.update",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "Update an existing identity provider",
        "description": "Update an existing identity provider",
        "requestBody": {
          "description": "Identity provider to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/LocalIdentityProvider"
                      }
                    ]
                  },
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/OidcIdentityProvider"
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The updated identity provider",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/OidcIdentityProviderResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to update identity provider",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/identity/providers/{name}": {
      "get": {
        "operationId": "security.identity.provider.get",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "Retrieve a existing identity provider",
        "description": "Retrieve a existing identity provider based on its name",
        "responses": {
          "200": {
            "description": "The identity provider",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/LocalIdentityProviderResponse"
                    },
                    {
                      "$ref": "#/components/schemas/OidcIdentityProviderResponse"
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the identity provider to retrieve"
          }
        ]
      },
      "delete": {
        "operationId": "security.identity.provider.delete",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "Delete an identity provider",
        "description": "Delete an existing identity provider based on its name",
        "responses": {
          "204": {
            "description": "Identity provider successfully deleted"
          },
          "400": {
            "description": "Unable to delete identity provider",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Identity provider not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The internal name of the identity provider to delete"
          }
        ]
      }
    },
    "/api/v1/security/identity/providers/search": {
      "post": {
        "operationId": "security.identity.provider.search",
        "tags": [
          "security.identity.provider"
        ],
        "summary": "Retrieve the provider of a principal",
        "description": "Retrieve which identity provider holds the authentication information for a given identifier or a given contact e-mail.",
        "requestBody": {
          "description": "The principal search request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrincipalInfoSearchRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The principal search results",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PrincipalInfoSearchResult"
                  }
                }
              }
            }
          },
          "204": {
            "description": "No principal matching the search request"
          },
          "400": {
            "description": "Unable to search for principal",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecIdProv001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principalinfos": {
      "post": {
        "operationId": "security.principal.info.add",
        "tags": [
          "security.principalinfo"
        ],
        "summary": "Create a new principal",
        "description": "Create a new principal in Stream",
        "requestBody": {
          "description": "The principal's information to register",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PrincipalInfo"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Principal information successfully registered",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PrincipalInfoResponse"
                    }
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the principal",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "security.principal.info.update",
        "tags": [
          "security.principalinfo"
        ],
        "summary": "Update a principal's information",
        "description": "Update an existing principal's information",
        "requestBody": {
          "description": "The principal information to update",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrincipalInfo"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Principal information successfully updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrincipalInfoResponse"
                }
              }
            }
          },
          "400": {
            "description": "Unable to register the Principal Info",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Info not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principalinfos/{identifier}": {
      "get": {
        "operationId": "security.principal.info.get",
        "tags": [
          "security.principalinfo"
        ],
        "summary": "Retrieve a principal information",
        "description": "Retrieve the security information of an existing principal based on its identifier",
        "responses": {
          "200": {
            "description": "The principal information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrincipalInfoResponse"
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Info not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The identifier of the principal to retrieve information of"
          }
        ]
      },
      "delete": {
        "operationId": "security.principal.info.delete",
        "tags": [
          "security.principalinfo"
        ],
        "summary": "Delete a principal",
        "description": "Delete an existing principal based on its identifier",
        "responses": {
          "204": {
            "description": "Principal information successfully deleted"
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Principal Information not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "identifier",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "The identifier of the principal to delete"
          }
        ]
      }
    },
    "/api/v1/security/principalinfos/search": {
      "post": {
        "operationId": "security.principal.info.search",
        "tags": [
          "security.principalinfo"
        ],
        "summary": "Search for principal information",
        "description": "Search for principal information. Search criteria are combined using the 'or' operator",
        "requestBody": {
          "description": "The principal information search request",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrincipalInfoSearchQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The principal information search results",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrincipalInfoSearchResults"
                }
              }
            }
          },
          "400": {
            "description": "Unable to find the Principal Information",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "401": {
            "description": "Authentication error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Forbidden action",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "500": {
            "description": "Unexpected internal server error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPI001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/security/principals/self": {
      "get": {
        "description": "Return the authenticated principal",
        "operationId": "security.principal.self",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Principal"
                }
              }
            },
            "description": "The authenticated principal"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Return the authenticated principal",
        "tags": [
          "security.principal"
        ]
      }
    },
    "/api/v1/security/principals/logout": {
      "get": {
        "description": "Log out an authenticated principal and flush cached authorization(s). If this method is called by an unauthenticated principal (anonymous), the REST call is nilpotent.\n",
        "operationId": "security.principal.logout",
        "responses": {
          "204": {
            "description": "Principal successfully logged out"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Log out an authenticated principal and flush any cached authorization(s)",
        "tags": [
          "security.principal"
        ]
      }
    },
    "/api/v1/security/principals/authenticate": {
      "get": {
        "description": "Authenticate a principal and redirect (302) to the specified URL if authentication was successful. The redirect URL **must be URL encoded**.",
        "operationId": "security.principal.authenticate",
        "parameters": [
          {
            "in": "query",
            "name": "redirect",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The URL to redirect to after successful authentication. The URL must be URL encoded."
          }
        ],
        "responses": {
          "302": {
            "description": "Principal is successfully authenticated and redirected to the specified path assuming the path is a local path"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          }
        },
        "summary": "Authenticate a principal and redirect to the specified redirect URL",
        "tags": [
          "security.principal"
        ]
      }
    },
    "/api/v1/security/roles": {
      "get": {
        "description": "List the existing role(s)",
        "operationId": "security.role.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/RoleResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Role list"
          },
          "204": {
            "description": "No role defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing role(s)",
        "tags": [
          "security.role"
        ]
      },
      "post": {
        "description": "Register a new role",
        "operationId": "security.role.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "description": "Role to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponse"
                }
              }
            },
            "description": "Role successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new role",
        "tags": [
          "security.role"
        ]
      },
      "put": {
        "description": "Update an existing role",
        "operationId": "security.role.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Role"
              }
            }
          },
          "description": "The role to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponse"
                }
              }
            },
            "description": "Role successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing role",
        "tags": [
          "security.role"
        ]
      }
    },
    "/api/v1/security/roles/{name}": {
      "get": {
        "description": "Retrieve an existing role based on its name",
        "operationId": "security.role.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "description": "Name of the role to retrieve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleResponse"
                }
              }
            },
            "description": "The role"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing role",
        "tags": [
          "security.role"
        ]
      },
      "delete": {
        "description": "Delete an existing role based on its name",
        "operationId": "security.role.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "description": "Name of the role to delete",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Role successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Role001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing role",
        "tags": [
          "security.role"
        ]
      }
    },
    "/api/v1/crypto/keystores": {
      "get": {
        "description": "List the existing keystore(s)",
        "operationId": "crypto.keystore.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/AzureKeystoreResponse"
                      },
                      {
                        "$ref": "#/components/schemas/AWSKeystoreResponse"
                      },
                      {
                        "$ref": "#/components/schemas/GCloudKeystoreResponse"
                      },
                      {
                        "$ref": "#/components/schemas/PKCS11KeystoreResponse"
                      },
                      {
                        "$ref": "#/components/schemas/SoftwareKeystoreResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "Keystore(s) list"
          },
          "204": {
            "description": "No keystore defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing keystore(s)",
        "tags": [
          "crypto.keystore"
        ]
      },
      "post": {
        "description": "Register a new keystore",
        "operationId": "crypto.keystore.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AzureKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/AWSKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/GCloudKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/PKCS11KeystoreAdd"
                  },
                  {
                    "$ref": "#/components/schemas/SoftwareKeystore"
                  }
                ]
              }
            }
          },
          "description": "Keystore to register",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AzureKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/AWSKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/GCloudKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PKCS11KeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/SoftwareKeystoreResponse"
                    }
                  ]
                }
              }
            },
            "description": "Keystore successfully registered"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Register a new keystore",
        "tags": [
          "crypto.keystore"
        ]
      },
      "put": {
        "description": "Update an existing keystore",
        "operationId": "crypto.keystore.update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/AzureKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/AWSKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/GCloudKeystore"
                  },
                  {
                    "$ref": "#/components/schemas/PKCS11Keystore"
                  },
                  {
                    "$ref": "#/components/schemas/SoftwareKeystore"
                  }
                ]
              }
            }
          },
          "description": "The keystore to update",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AzureKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/AWSKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/GCloudKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PKCS11KeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/SoftwareKeystoreResponse"
                    }
                  ]
                }
              }
            },
            "description": "Keystore successfully updated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Update an existing keystore",
        "tags": [
          "crypto.keystore"
        ]
      }
    },
    "/api/v1/crypto/keystores/{name}": {
      "get": {
        "description": "Retrieve an existing keystore based on its name",
        "operationId": "crypto.keystore.get",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The Keystore's name"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/AzureKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/AWSKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/GCloudKeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/PKCS11KeystoreResponse"
                    },
                    {
                      "$ref": "#/components/schemas/SoftwareKeystoreResponse"
                    }
                  ]
                }
              }
            },
            "description": "The keystore"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Retrieve an existing keystore",
        "tags": [
          "crypto.keystore"
        ]
      },
      "delete": {
        "description": "Delete an existing keystore based on its name",
        "operationId": "crypto.keystore.delete",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The Keystore's name"
          }
        ],
        "responses": {
          "204": {
            "description": "Keystore successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing keystore",
        "tags": [
          "crypto.keystore"
        ]
      }
    },
    "/api/v1/crypto/keys/{keystoreName}": {
      "get": {
        "description": "List the existing key(s) on a keystore",
        "operationId": "crypto.key.list",
        "parameters": [
          {
            "in": "path",
            "name": "keystoreName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The Keystore's name"
          },
          {
            "in": "query",
            "name": "unusedOnly",
            "required": false,
            "schema": {
              "nullable": true,
              "type": "boolean"
            },
            "description": "List only keys that are not used anywhere"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PrivateKey"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Private key(s) list"
          },
          "204": {
            "description": "No key defined"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing key(s) on a keystore",
        "tags": [
          "crypto.key"
        ]
      },
      "post": {
        "description": "Find the existing key(s) on a keystore corresponding to a specified Certificate Authority",
        "operationId": "crypto.key.findbyca",
        "parameters": [
          {
            "in": "path",
            "name": "keystoreName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The Keystore's name"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CertificateAuthorityKeysRequest"
              }
            }
          },
          "description": "Search request for Certificate Authority Keys",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PrivateKey"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Private key(s) list"
          },
          "204": {
            "description": "No key defined"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Find the existing key(s) on a keystore corresponding to a specified Certificate Authority",
        "tags": [
          "crypto.key"
        ]
      }
    },
    "/api/v1/crypto/keys": {
      "post": {
        "description": "Generate a new Private Key on a keystore",
        "operationId": "crypto.key.add",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrivateKeyGenerationRequest"
              }
            }
          },
          "description": "Private Key generation request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateKey"
                }
              }
            },
            "description": "Private Key successfully generated"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Generate a new Private Key on a keystore",
        "tags": [
          "crypto.key"
        ]
      }
    },
    "/api/v1/crypto/keys/{keystoreName}/{keyName}": {
      "get": {
        "description": "Get an existing key(s) on a keystore based on its name",
        "operationId": "crypto.key.get",
        "parameters": [
          {
            "in": "path",
            "name": "keystoreName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "keyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivateKey"
                }
              }
            },
            "description": "The Private key"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Get an existing key on a keystore",
        "tags": [
          "crypto.key"
        ]
      },
      "delete": {
        "description": "Delete an existing key on a keystore based on its name",
        "operationId": "crypto.key.delete",
        "parameters": [
          {
            "in": "path",
            "name": "keystoreName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "keyName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Private Key successfully deleted"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth010"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Key001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Keystore001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Delete an existing key on a keystore",
        "tags": [
          "crypto.key"
        ]
      }
    },
    "/api/v1/system/configuration": {
      "get": {
        "description": "List the system configurations",
        "operationId": "system.configuration.list",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/LicenseConfigurationResponse"
                      },
                      {
                        "$ref": "#/components/schemas/InternalMonitorConfigurationResponse"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "System configurations list"
          },
          "204": {
            "description": "No configurations defined or insufficient permissions"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "List the existing system configurations",
        "tags": [
          "system.configuration"
        ]
      },
      "put": {
        "description": "Upsert a system configuration",
        "operationId": "system.configuration.upsert",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/LicenseConfiguration"
                  },
                  {
                    "$ref": "#/components/schemas/InternalMonitorConfiguration"
                  }
                ]
              }
            }
          },
          "description": "System configuration entry to upsert",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/LicenseConfigurationResponse"
                    },
                    {
                      "$ref": "#/components/schemas/InternalMonitorConfigurationResponse"
                    }
                  ]
                }
              }
            },
            "description": "System configuration successfully upserted"
          },
          "400": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            400
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Upsert a system configuration",
        "tags": [
          "system.configuration"
        ]
      }
    },
    "/api/v1/system/configuration/{type}": {
      "get": {
        "description": "Get an existing system configuration",
        "operationId": "system.configuration.get",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "description": "Type of the configuration entry to get",
            "schema": {
              "enum": [
                "license",
                "internal_monitor"
              ],
              "type": "string"
            },
            "required": true
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/LicenseConfigurationResponse"
                    },
                    {
                      "$ref": "#/components/schemas/InternalMonitorConfigurationResponse"
                    }
                  ]
                }
              }
            },
            "description": "The requested system configuration"
          },
          "401": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth004"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth005"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth006"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth007"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth008"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth009"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            401
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Unauthorized request"
          },
          "403": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecPerm001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic002"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            403
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Forbidden action"
          },
          "404": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration003"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            404
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/problem+json": {
                "schema": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SystemConfiguration001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SecAuth001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    },
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Lic001"
                        }
                      ],
                      "properties": {
                        "status": {
                          "enum": [
                            500
                          ]
                        }
                      },
                      "required": [
                        "status"
                      ]
                    }
                  ]
                }
              }
            },
            "description": "Internal Server error"
          }
        },
        "summary": "Get a system configuration",
        "tags": [
          "system.configuration"
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "apiId": {
        "description": "A Stream local identity identifier",
        "type": "apiKey",
        "in": "header",
        "name": "X-API-ID"
      },
      "apiKey": {
        "description": "The local identity password",
        "type": "apiKey",
        "in": "header",
        "name": "X-API-KEY"
      },
      "cookieAuth": {
        "type": "apiKey",
        "in": "cookie",
        "name": "PLAY_SESSION"
      }
    },
    "schemas": {
      "BasicError": {
        "properties": {
          "error": {
            "description": "The error code of the problem",
            "type": "string"
          },
          "message": {
            "description": "A short, human-readable summary of the problem type",
            "type": "string"
          },
          "detail": {
            "type": "string",
            "description": "A human-readable explanation specific to this occurrence of the problem. In compliance with [RFC7807](https://datatracker.ietf.org/doc/html/rfc7807)",
            "nullable": true,
            "example": "Details about the error"
          },
          "status": {
            "type": "integer",
            "description": "The http status code of the error. In compliance with [RFC7807](https://datatracker.ietf.org/doc/html/rfc7807)"
          },
          "title": {
            "type": "string",
            "description": "A short, human-readable summary of the problem type. In compliance with [RFC7807](https://datatracker.ietf.org/doc/html/rfc7807)"
          }
        },
        "required": [
          "error",
          "message",
          "title",
          "status"
        ]
      },
      "SecAuth001": {
        "title": "SEC-AUTH-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid credentials or principal does not exist",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid credentials or principal does not exist"
            ]
          },
          "title": {
            "enum": [
              "Invalid credentials or principal does not exist"
            ]
          }
        },
        "title": "SEC-AUTH-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth009": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Authentication expired",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-009"
            ]
          },
          "message": {
            "enum": [
              "Authentication expired"
            ]
          },
          "title": {
            "enum": [
              "Authentication expired"
            ]
          }
        },
        "title": "SEC-AUTH-009",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth010": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Principal not authenticated or authentication expired",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-010"
            ]
          },
          "message": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          },
          "title": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          }
        },
        "title": "SEC-AUTH-010",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lic001": {
        "title": "LIC-001",
        "description": "Invalid License",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid License"
            ]
          },
          "title": {
            "enum": [
              "Invalid License"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lic002": {
        "title": "LIC-002",
        "description": "Expired License",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-002"
            ]
          },
          "message": {
            "enum": [
              "Expired License"
            ]
          },
          "title": {
            "enum": [
              "Expired License"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecPerm001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Insufficient privileges",
        "properties": {
          "error": {
            "enum": [
              "SEC-PERM-001"
            ]
          },
          "message": {
            "enum": [
              "Insufficient privileges"
            ]
          },
          "title": {
            "enum": [
              "Insufficient privileges"
            ]
          }
        },
        "title": "SEC-PERM-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Adoc001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "ADOC-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "ADOC-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "RevocationReason": {
        "title": "Revocation Reason",
        "type": "string",
        "description": "One of: `unspecified`, `keycompromise`, `cacompromise`, `affiliationchange`, `superseded`, `cessationofoperation`"
      },
      "ArchiveCutoff": {
        "title": "Archive Cutoff",
        "description": "OCSP Archive Cutoff configuration",
        "properties": {
          "mode": {
            "type": "string",
            "enum": [
              "issuer",
              "retention"
            ],
            "description": "Archive cutoff mode. `issuer` uses the CA's expiration date and `retention` uses the retentionPeriod defined below"
          },
          "retentionPeriod": {
            "type": "string",
            "description": "`retention` mode: The time during which the certificate will be kept in retention after expiration",
            "nullable": true,
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "300d"
          }
        },
        "required": [
          "mode"
        ]
      },
      "CertificateAuthority": {
        "properties": {
          "type": {
            "description": "The type of Certificate Authority",
            "type": "string",
            "example": "managed"
          },
          "name": {
            "description": "The name of the Certificate Authority",
            "type": "string",
            "example": "MyCA"
          },
          "trustedForClientAuthentication": {
            "type": "boolean",
            "description": "If true, certificates emitted by this Certificate Authority can be used for client authentication on Stream"
          },
          "trustedForServerAuthentication": {
            "type": "boolean",
            "description": "If true, certificates emitted by this Certificate Authority can be used for server authentication by Stream"
          },
          "revoked": {
            "description": "If true, the Certificate Authority is revoked",
            "default": false,
            "type": "boolean",
            "nullable": true
          },
          "revocationDate": {
            "type": "string",
            "description": "The revocation date of this Certificate Authority",
            "format": "date-time",
            "nullable": true
          },
          "revocationReason": {
            "nullable": true,
            "description": "The revocation reason of this Certificate Authority",
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReason"
              }
            ]
          },
          "enableOCSP": {
            "type": "boolean",
            "nullable": true,
            "description": "Enable OCSP on this CA"
          },
          "ocspSigner": {
            "type": "string",
            "nullable": true,
            "description": "Name of the OCSP signer associated with this CA"
          },
          "compromised": {
            "type": "boolean",
            "nullable": true,
            "description": "Define this CA as compromised for OCSP responses"
          },
          "archiveCutoff": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ArchiveCutoff"
              }
            ]
          }
        },
        "required": [
          "type",
          "name",
          "trustedForClientAuthentication",
          "trustedForServerAuthentication"
        ]
      },
      "TriggersExternalCertificateAuthority": {
        "type": "object",
        "description": "Triggers that apply on events on this CA",
        "properties": {
          "onCRLUpdate": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are updated (manually or via fetch on URL)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-trigger"
            ]
          },
          "onCRLUpdateError": {
            "nullable": true,
            "description": "Name of the triggers to execute when an error occurs when this CA's CRL are updated (manually or via fetch on URL)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-error-trigger"
            ]
          },
          "onCRLUpdateRecover": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are successfully updated when the last status was error",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-recover-trigger"
            ]
          },
          "onCRLSync": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are synced",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-sync-trigger"
            ]
          },
          "onCRLExpiration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL expire",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-expiration-trigger"
            ]
          },
          "onCAExpiration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA expires",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "ca-expiration-trigger"
            ]
          }
        }
      },
      "ExternalCertificateAuthority": {
        "title": "External Certificate Authority",
        "description": "A Certificate Authority known by Stream but not managed",
        "allOf": [
          {
            "$ref": "#/components/schemas/CertificateAuthority"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "external"
            ]
          },
          "crlUrls": {
            "description": "URLs on which to find this Certificate Authority's CRL",
            "type": "array",
            "nullable": true,
            "example": [
              "http://crl.evertrust.fr/MyCA"
            ],
            "items": {
              "type": "string"
            }
          },
          "refresh": {
            "description": "The refresh period of this Certificate Authority's CRL",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "15 minutes"
          },
          "outdatedRevocationStatusPolicy": {
            "type": "string",
            "description": "Defined the behavior when the revocation information is not up to date. `revoked` considers all certificates to be revoked even if they were not revoked on the last know status. `unknown` considers their status as unknown, and `lastavailablestatus` will consider them revoked if they were revoked, and valid otherwise",
            "enum": [
              "revoked",
              "unknown",
              "lastavailablestatus"
            ]
          },
          "timeout": {
            "nullable": true,
            "description": "HTTP Request timeouts to fetch this Certificate Authority's CRL",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "20 seconds"
          },
          "proxy": {
            "description": "HTTP Proxy to access this Certificate Authority's CRL",
            "type": "string",
            "nullable": true
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersExternalCertificateAuthority"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "type",
          "outdatedRevocationStatusPolicy"
        ]
      },
      "CFDistinguishedName": {
        "title": "DN Element",
        "type": "object",
        "properties": {
          "type": {
            "description": "The DN element type",
            "enum": [
              "CN",
              "UID",
              "SERIALNUMBER",
              "SURNAME",
              "GIVENNAME",
              "unstructuredAddress",
              "unstructuredName",
              "E",
              "OU",
              "organizationIdentifier",
              "UniqueIdentifier",
              "STREET",
              "ST",
              "L",
              "O",
              "C",
              "DC"
            ],
            "type": "string"
          },
          "value": {
            "description": "The DN Element value",
            "example": "Common Name",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ]
      },
      "SubjectAlternateName": {
        "title": "SAN Element",
        "properties": {
          "sanType": {
            "description": "The type of SAN",
            "type": "string",
            "enum": [
              "RFC822NAME",
              "DNSNAME",
              "URI",
              "IPADDRESS",
              "OTHERNAME_UPN",
              "OTHERNAME_GUID",
              "REGISTERED_ID"
            ]
          },
          "value": {
            "description": "The value of the SAN",
            "example": "demo@evertrust.fr",
            "type": "string"
          }
        },
        "required": [
          "sanType",
          "value"
        ]
      },
      "CFCertificate": {
        "title": "Certificate",
        "properties": {
          "dn": {
            "example": "CN=Common Name,O=Evertrust",
            "description": "The certificate's distinguished name",
            "type": "string"
          },
          "dnElements": {
            "description": "The distinguished name, with each element being an object",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CFDistinguishedName"
            }
          },
          "issuerDn": {
            "example": "CN=RootCA,O=Evertrust",
            "type": "string",
            "description": "The DN of this certificate's issuer"
          },
          "serial": {
            "example": "6269656e76656e7565206368657a20657665727472757374",
            "description": "This certificate's serial number",
            "type": "string"
          },
          "notBefore": {
            "description": "This certificate's start of validity",
            "type": "integer",
            "format": "epoch",
            "example": 5645612554
          },
          "notAfter": {
            "description": "This certificate's end of validity",
            "type": "integer",
            "format": "epoch",
            "example": 5865465645
          },
          "keyType": {
            "description": "This certificate's keytype",
            "example": "rsa-2048",
            "type": "string"
          },
          "signingAlgorithm": {
            "type": "string",
            "example": "SHA256WITHRSA",
            "description": "Ths certificate's signing algorithm"
          },
          "pem": {
            "description": "PEM encoded certificate",
            "example": "-----BEGIN CERTIFICATE-...",
            "type": "string"
          },
          "subjectKeyIdentifier": {
            "description": "The subject key identifier of this certificate",
            "example": "76697661206c6120766964610d0a",
            "type": "string"
          },
          "sans": {
            "description": "List of this certificate's SANs",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectAlternateName"
            }
          },
          "crldps": {
            "description": "This certificate's CRL Distribution Points",
            "example": [
              "http://evertrust.ft/RootCA"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "aias": {
            "description": "This certificate's Authority Information Access",
            "type": "object",
            "properties": {
              "crt": {
                "description": "List of URIs on which the Certificate Authority certificate can be found",
                "items": {
                  "type": "string",
                  "example": "http://pem.evertrust.fr/IssuingCA"
                }
              },
              "ocsp": {
                "type": "array",
                "nullable": true,
                "description": "List of URIs on which the OCSP Responder of the Certificate Authority can be accessed",
                "items": {
                  "example": "http://ocsp.evertrust.fr/IssuingCA",
                  "type": "string"
                }
              }
            }
          }
        },
        "required": [
          "dn",
          "dnElements",
          "issuerDn",
          "serial",
          "notBefore",
          "notAfter",
          "keyType",
          "signingAlgorithm",
          "pem"
        ]
      },
      "ExternalCertificateAuthorityResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExternalCertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CFCertificate"
              }
            ]
          }
        }
      },
      "HashAlgorithm": {
        "title": "Hash Algorithm",
        "type": "string",
        "enum": [
          "SHA1",
          "SHA224",
          "SHA256",
          "SHA384",
          "SHA512",
          "SHA3_224",
          "SHA3_256",
          "SHA3_384",
          "SHA3_512"
        ]
      },
      "SignerPrivateKey": {
        "title": "Signer Private Key",
        "description": "This signer's private key",
        "properties": {
          "keystore": {
            "description": "The Keystore in which the key is stored",
            "type": "string",
            "example": "pkcs11-keystore"
          },
          "name": {
            "description": "The name of the key in the keystore",
            "type": "string",
            "example": "MyCAKey"
          },
          "hashAlgorithm": {
            "description": "The Hash Algorithm to use when signing with this key",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithm"
              }
            ]
          },
          "usePSS": {
            "type": "boolean",
            "description": "For RSA Keys in PKCS11 Keystores only: use the PSS signature algorithm",
            "nullable": true
          }
        },
        "required": [
          "keystore",
          "name"
        ]
      },
      "Signer": {
        "properties": {
          "name": {
            "type": "string",
            "example": "signer",
            "description": "This signer's name"
          },
          "privateKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignerPrivateKey"
              }
            ]
          },
          "queue": {
            "description": "The name of the queue to apply on this signer's operations",
            "type": "string",
            "nullable": true,
            "example": "Slow-queue"
          }
        }
      },
      "X509Signer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Signer"
          }
        ],
        "properties": {
          "altPrivateKey": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SignerPrivateKey"
              }
            ]
          },
          "dn": {
            "nullable": true,
            "type": "string",
            "example": "CN=MyCA,O=EVERTRUST,C=FR",
            "description": "This signer's Distinguished Name"
          }
        }
      },
      "AuthorityInformationAccess": {
        "title": "Authority Information Access",
        "description": "AIAs to add to the certificate",
        "properties": {
          "certificate": {
            "type": "array",
            "nullable": true,
            "description": "List of URIs on which the Certificate Authority certificate can be found",
            "items": {
              "type": "string",
              "example": "http://pem.evertrust.fr/IssuingCA"
            }
          },
          "ocsp": {
            "type": "array",
            "nullable": true,
            "description": "List of URIs on which the OCSP Responder of the Certificate Authority can be accessed",
            "items": {
              "example": "http://ocsp.evertrust.fr/IssuingCA",
              "type": "string"
            }
          }
        }
      },
      "CertificatePolicy": {
        "title": "Certificate Policy",
        "description": "Certificate Policy to add to the certificate",
        "properties": {
          "oid": {
            "description": "Object Identifier of the Policy",
            "type": "string",
            "example": "1.3.89.5809.638.10.910.753.620"
          },
          "cpsPointer": {
            "description": "URI to a Certification Practice Statement document",
            "type": "string",
            "nullable": true,
            "example": "https://documents.evertrust.fr/policy1"
          },
          "organization": {
            "type": "string",
            "nullable": true,
            "example": "EVERTRUST",
            "description": "Organization of the user notice. Introduced in 2.0.12"
          },
          "noticeNumbers": {
            "type": "array",
            "items": {
              "description": "Number of the notice",
              "type": "integer"
            },
            "description": "Notice numbers of the policy. Introduced in 2.0.12",
            "nullable": true,
            "example": [
              2,
              0
            ]
          },
          "explicitText": {
            "type": "string",
            "nullable": true,
            "description": "The text of the user notice. Introduced in 2.0.12",
            "example": "This certificate should be used for signing"
          }
        },
        "required": [
          "oid"
        ]
      },
      "QCTransactionLimit": {
        "title": "Transaction Limit Statement",
        "description": "This indicates the limits of the transactions the certificate is qualified for. The maximum amount is calculated by: `valueLimit * 10^(valueLimitExp)`",
        "properties": {
          "valueLimit": {
            "description": "The maximum amount this certificate is qualified for simplified to the lowest power of 10",
            "example": 3622,
            "type": "integer",
            "format": "int32"
          },
          "valueLimitExp": {
            "description": "The exponent of the power of 10 to multiply with `valueLimit` to get the maximum amount",
            "type": "integer",
            "format": "int32",
            "example": 4
          },
          "currencyCode": {
            "example": "EUR",
            "type": "string",
            "description": "The [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) currency code for this limit"
          }
        },
        "required": [
          "valueLimit",
          "valueLimitExp",
          "currencyCode"
        ]
      },
      "QCStatement": {
        "title": "Qualified Certificate Statements",
        "description": "The Qualified Certificate Statements to add to the emitted certificates",
        "properties": {
          "eTSIQCCompliance": {
            "description": "If true, the certificate is a Qualified Certificate",
            "type": "boolean"
          },
          "eTSIQCSSCD": {
            "description": "If true, the private key of the certificate resides in a Secure Signature Creation Device",
            "type": "boolean"
          },
          "eTSIRetentionPeriod": {
            "type": "integer",
            "description": "This indicates the duration of the retention period of material information in years",
            "format": "int32",
            "example": 3
          },
          "eTSIQCType": {
            "description": "This indicates which type of document can be signed by the certificate. One of `eseal`, `esign`, `web` or `none`"
          },
          "eTSIPDS": {
            "description": "The PKI Disclosure Statements URI for a specified language",
            "format": "language-code: url-to-document-in-this-language",
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "example": {
              "fr": "http://document.evertrust.fr/qualifiedCertificateFR",
              "en": "http://document.evertrust.fr/qualifiedCertificateEN"
            }
          },
          "eTSITransactionLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/QCTransactionLimit"
              }
            ],
            "nullable": true
          },
          "eTSILegislation": {
            "description": "The alpha-2 [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) country codes where the certificate is qualified",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "example": [
              "FR",
              "EN"
            ]
          }
        },
        "required": [
          "eTSIQCCompliance",
          "eTSIQCSSCD",
          "eTSIRetentionPeriod",
          "eTSIQCType"
        ]
      },
      "CertificateAuthorityOverridePermissions": {
        "title": "Override Permissions",
        "description": "This indicates which properties can be overriden in the enrollment request",
        "properties": {
          "ku": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the Key Usages can be redefined in the enrollment request"
          },
          "eku": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the Extended Key Usages can be redefined in the enrollment request"
          },
          "emptyExtensions": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the Empty Extensions can be redefined in the enrollment request"
          },
          "crldps": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the CRL Distribution Points can be redefined in the enrollment request"
          },
          "aia": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the Authority Information Access can be redefined in the enrollment request"
          },
          "policy": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the Certificate Policy can be redefined in the enrollment request"
          },
          "pathlen": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the length of the certification path can be redefined in the enrollment request"
          },
          "lifetime": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the certificate's lifetime can be redefined in the enrollment request"
          },
          "backdate": {
            "type": "boolean",
            "nullable": true,
            "description": "If true, the certificate's backdate can be redefined in the enrollment request"
          },
          "checkPoP": {
            "type": "boolean",
            "description": "If true, the need to check the proof of possession can be redefined in the enrollment request",
            "nullable": true
          }
        }
      },
      "CRLPolicy": {
        "title": "CRL Generation Policy",
        "description": "Define how to generate the CRL fot his Certificate Authority",
        "properties": {
          "hardGeneration": {
            "nullable": true,
            "type": "string",
            "format": "Quartz Cron",
            "description": "The CRL will be generated at each period",
            "example": "0 0/5 * * * ?"
          },
          "lazyGeneration": {
            "nullable": true,
            "type": "string",
            "format": "Quartz Cron",
            "description": "The CRL will be checked at each period and generated if a new entry was added",
            "example": "0 0/5 * * * ?"
          },
          "validity": {
            "description": "The duration of the CRL's validity",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "2 days"
          },
          "eidas": {
            "type": "boolean",
            "description": "If true, the CRL will be EIDAS compliant"
          }
        },
        "required": [
          "validity",
          "eidas"
        ]
      },
      "TriggersManagedCertificateAuthority": {
        "type": "object",
        "description": "Triggers that apply on events on this CA",
        "properties": {
          "onCRLGeneration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are generated (manually or via cron)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-trigger"
            ]
          },
          "onCRLGenerationError": {
            "nullable": true,
            "description": "Name of the triggers to execute when an error occurs when this CA's CRL are generated (manually or via cron)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-error-trigger"
            ]
          },
          "onCRLGenerationRecover": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are successfully generated when the last status was error",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-update-recover-trigger"
            ]
          },
          "onCRLSync": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL are synced",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-sync-trigger"
            ]
          },
          "onCRLExpiration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's CRL expire",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "crl-expiration-trigger"
            ]
          },
          "onCAExpiration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA expires",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "ca-expiration-trigger"
            ]
          }
        }
      },
      "ManagedCertificateAuthority": {
        "title": "Managed Certificate Authority",
        "description": "A Certificate Authority managed by Stream",
        "allOf": [
          {
            "$ref": "#/components/schemas/CertificateAuthority"
          },
          {
            "$ref": "#/components/schemas/X509Signer"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "managed"
            ]
          },
          "enroll": {
            "description": "If true, this Certificate Authority can emit certificates",
            "type": "boolean"
          },
          "dn": {
            "description": "This Certificate Authority's Distinguished Name"
          },
          "queue": {
            "description": "The queue to apply on this Certificate Authority's operations"
          },
          "enforceKeyUnicity": {
            "type": "boolean",
            "description": "If true, each enrollment request must have a unique key"
          },
          "crldps": {
            "type": "array",
            "description": "The urls of this Certificate Authority's CRL Distribution Points",
            "nullable": true,
            "example": [
              "http://crl.evertrust.fr/MyCA"
            ],
            "items": {
              "type": "string"
            }
          },
          "aia": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthorityInformationAccess"
              }
            ]
          },
          "policy": {
            "nullable": true,
            "type": "array",
            "description": "This Certificate Authority's Certificate Policies",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/CertificatePolicy"
                }
              ]
            }
          },
          "qcStatement": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/QCStatement"
              }
            ]
          },
          "overridePermissions": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateAuthorityOverridePermissions"
              }
            ]
          },
          "crlPolicy": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/CRLPolicy"
              }
            ]
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersManagedCertificateAuthority"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "type",
          "enroll",
          "enforceKeyUnicity"
        ]
      },
      "ManagedCertificateAuthorityResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ManagedCertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CFCertificate"
              }
            ]
          }
        }
      },
      "SecAuth003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate is not trusted",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate is not trusted"
            ]
          },
          "title": {
            "enum": [
              "Certificate is not trusted"
            ]
          }
        },
        "title": "SEC-AUTH-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate is expired",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate is expired"
            ]
          },
          "title": {
            "enum": [
              "Certificate is expired"
            ]
          }
        },
        "title": "SEC-AUTH-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate is revoked",
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate is revoked"
            ]
          },
          "title": {
            "enum": [
              "Certificate is revoked"
            ]
          }
        },
        "title": "SEC-AUTH-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "CA-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "CA-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "ExternalCertificateAuthorityRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ExternalCertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "type": "string",
            "format": "X509 PEM encoded certificate",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "description": "The certificate of the Certificate Authority"
          }
        }
      },
      "ManagedCertificateAuthorityRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ManagedCertificateAuthority"
          }
        ],
        "properties": {
          "certificate": {
            "type": "string",
            "format": "X509 PEM encoded certificate",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "description": "The certificate of the Certificate Authority"
          }
        }
      },
      "Ca002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Certificate Authority",
        "properties": {
          "error": {
            "enum": [
              "CA-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Authority"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Authority"
            ]
          }
        },
        "title": "CA-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority not found",
        "properties": {
          "error": {
            "enum": [
              "CA-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority not found"
            ]
          }
        },
        "title": "CA-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority already exists",
        "properties": {
          "error": {
            "enum": [
              "CA-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority already exists"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority already exists"
            ]
          }
        },
        "title": "CA-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is referenced",
        "properties": {
          "error": {
            "enum": [
              "CA-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is referenced"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is referenced"
            ]
          }
        },
        "title": "CA-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SignerPrivateKeys": {
        "title": "Signer Private Keys",
        "description": "Private keys linked to a signer",
        "properties": {
          "privateKey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SignerPrivateKey"
              }
            ]
          },
          "altPrivateKey": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SignerPrivateKey"
              }
            ]
          }
        },
        "required": [
          "privateKey"
        ]
      },
      "Ca011": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Certificate Authority migration request",
        "properties": {
          "error": {
            "enum": [
              "CA-011"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Authority migration request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Authority migration request"
            ]
          }
        },
        "title": "CA-011",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca009": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Certificate Authority type",
        "properties": {
          "error": {
            "enum": [
              "CA-009"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Authority type"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Authority type"
            ]
          }
        },
        "title": "CA-009",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca012": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Only external Certificate Authority with associated CRL can be migrated",
        "properties": {
          "error": {
            "enum": [
              "CA-012"
            ]
          },
          "message": {
            "enum": [
              "Only external Certificate Authority with associated CRL can be migrated"
            ]
          },
          "title": {
            "enum": [
              "Only external Certificate Authority with associated CRL can be migrated"
            ]
          }
        },
        "title": "CA-012",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Key003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Key not found",
        "properties": {
          "error": {
            "enum": [
              "KEY-003"
            ]
          },
          "message": {
            "enum": [
              "Key not found"
            ]
          },
          "title": {
            "enum": [
              "Key not found"
            ]
          }
        },
        "title": "KEY-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Keystore003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Keystore not found",
        "properties": {
          "error": {
            "enum": [
              "KEYSTORE-003"
            ]
          },
          "message": {
            "enum": [
              "Keystore not found"
            ]
          },
          "title": {
            "enum": [
              "Keystore not found"
            ]
          }
        },
        "title": "KEYSTORE-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority certification request generation error",
        "properties": {
          "error": {
            "enum": [
              "CA-006"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority certification request generation error"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority certification request generation error"
            ]
          }
        },
        "title": "CA-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateAuthorityTemplate": {
        "properties": {
          "crldps": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "aia": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthorityInformationAccess"
              }
            ],
            "nullable": true
          },
          "policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificatePolicy"
              }
            ],
            "nullable": true
          },
          "pathLen": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lifetime": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "backdate": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          }
        }
      },
      "CaEnrollmentRequest": {
        "properties": {
          "ca": {
            "type": "string"
          },
          "csr": {
            "type": "string",
            "format": "PKCS#10 pem encoded"
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificateAuthorityTemplate"
              }
            ]
          }
        },
        "required": [
          "ca",
          "csr",
          "template"
        ]
      },
      "Ca007": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Certificate Authority enrollment request",
        "properties": {
          "error": {
            "enum": [
              "CA-007"
            ]
          },
          "message": {
            "enum": [
              "Invalid Certificate Authority enrollment request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Certificate Authority enrollment request"
            ]
          }
        },
        "title": "CA-007",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca008": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority enrollment error",
        "properties": {
          "error": {
            "enum": [
              "CA-008"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority enrollment error"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority enrollment error"
            ]
          }
        },
        "title": "CA-008",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca014": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is expired",
        "properties": {
          "error": {
            "enum": [
              "CA-014"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is expired"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is expired"
            ]
          }
        },
        "title": "CA-014",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca015": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is revoked",
        "properties": {
          "error": {
            "enum": [
              "CA-015"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is revoked"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is revoked"
            ]
          }
        },
        "title": "CA-015",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca016": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is not ready",
        "properties": {
          "error": {
            "enum": [
              "CA-016"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          }
        },
        "title": "CA-016",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca013": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority cannot issue CRL",
        "properties": {
          "error": {
            "enum": [
              "CA-013"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority cannot issue CRL"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority cannot issue CRL"
            ]
          }
        },
        "title": "CA-013",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca010": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid or empty CRL",
        "properties": {
          "error": {
            "enum": [
              "CA-010"
            ]
          },
          "message": {
            "enum": [
              "Invalid or empty CRL"
            ]
          },
          "title": {
            "enum": [
              "Invalid or empty CRL"
            ]
          }
        },
        "title": "CA-010",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateAuthorityOverridePermissions": {
        "title": "OpenSSH Certificate Authority Override Permissions",
        "properties": {
          "type": {
            "nullable": true,
            "type": "boolean",
            "description": "Can the openssh certificate type be overridden"
          },
          "backdate": {
            "nullable": true,
            "type": "boolean",
            "description": "Can the backdate be overridden"
          },
          "lifetime": {
            "nullable": true,
            "type": "boolean",
            "description": "Can the lifetime be overridden"
          }
        }
      },
      "KRLPolicy": {
        "title": "KRL Generation Policy",
        "description": "Define how to generate the KRL fot his OpenSSH Certificate Authority",
        "properties": {
          "hardGeneration": {
            "nullable": true,
            "type": "string",
            "format": "Quartz Cron",
            "description": "The KRL will be generated at each period",
            "example": "0 0/5 * * * ?"
          },
          "lazyGeneration": {
            "nullable": true,
            "type": "string",
            "format": "Quartz Cron",
            "description": "The KRL will be checked at each period and generated if a new entry was added",
            "example": "0 0/5 * * * ?"
          },
          "validity": {
            "description": "The duration of the KRL's validity",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "2 days"
          }
        },
        "required": [
          "validity"
        ]
      },
      "TriggersCertificateAuthority": {
        "type": "object",
        "description": "Triggers that apply on events on this OpenSSH Certificate Authority (CA)",
        "properties": {
          "onKRLGeneration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's KRL are generated (manually or via cron)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "krl-update-trigger"
            ]
          },
          "onKRLGenerationError": {
            "nullable": true,
            "description": "Name of the triggers to execute when an error occurs when this CA's KRL are generated (manually or via cron)",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "krl-update-error-trigger"
            ]
          },
          "onKRLGenerationRecover": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's KRL are successfully generated when the last status was error",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "krl-update-recover-trigger"
            ]
          },
          "onKRLSync": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's KRL are synced",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "krl-sync-trigger"
            ]
          },
          "onKRLExpiration": {
            "nullable": true,
            "description": "Name of the triggers to execute when this CA's KRL expire",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "krl-expiration-trigger"
            ]
          }
        }
      },
      "SSHCertificateAuthority": {
        "title": "OpenSSH Certificate Authority",
        "description": "An OpenSSH Certificate Authority managed by Stream",
        "properties": {
          "enroll": {
            "description": "If true, this Certificate Authority can sign publicKey",
            "type": "boolean"
          },
          "enforceKeyUnicity": {
            "type": "boolean",
            "description": "If true, each enrollment request must have a unique key"
          },
          "overridePermissions": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SSHCertificateAuthorityOverridePermissions"
              }
            ]
          },
          "krlPolicy": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/KRLPolicy"
              }
            ]
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersCertificateAuthority"
              }
            ],
            "nullable": true
          }
        }
      },
      "SSHSignerResponse": {
        "title": "OpenSSH Certificate Authority",
        "description": "An OpenSSH Certificate Authority managed by Stream",
        "allOf": [
          {
            "$ref": "#/components/schemas/Signer"
          }
        ],
        "properties": {
          "publicKey": {
            "description": "The public key of the SSHSigner",
            "type": "string",
            "example": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAA..."
          }
        }
      },
      "Id": {
        "title": "Internal ID",
        "description": "Object internal ID",
        "type": "string",
        "example": "6448d56b310000400063f014",
        "pattern": "^[a-f\\d]{24}$"
      },
      "SSHCertificateAuthorityResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHCertificateAuthority"
          },
          {
            "$ref": "#/components/schemas/SSHSignerResponse"
          }
        ],
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          }
        },
        "required": [
          "id",
          "enroll",
          "enforceKeyUnicity",
          "krlPolicy",
          "privateKey",
          "publicKey",
          "name"
        ]
      },
      "Lic003": {
        "title": "LIC-003",
        "description": "Module is not entitled",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIC-003"
            ]
          },
          "message": {
            "enum": [
              "Module is not entitled"
            ]
          },
          "title": {
            "enum": [
              "Module is not entitled"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCa001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "SSH-CA-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHSignerRequest": {
        "title": "OpenSSH Certificate Authority",
        "description": "An OpenSSH Certificate Authority managed by Stream",
        "allOf": [
          {
            "$ref": "#/components/schemas/Signer"
          }
        ]
      },
      "SSHCertificateAuthorityRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHCertificateAuthority"
          },
          {
            "$ref": "#/components/schemas/SSHSignerRequest"
          }
        ],
        "required": [
          "enroll",
          "enforceKeyUnicity",
          "krlPolicy",
          "privateKey",
          "name"
        ]
      },
      "SSHCa002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate authority",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate authority"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate authority"
            ]
          }
        },
        "title": "SSH-CA-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCa003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate authority not found",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate authority not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate authority not found"
            ]
          }
        },
        "title": "SSH-CA-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCa004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate authority already exists",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate authority already exists"
            ]
          },
          "title": {
            "enum": [
              "Certificate authority already exists"
            ]
          }
        },
        "title": "SSH-CA-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCa005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate authority is referenced",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate authority is referenced"
            ]
          },
          "title": {
            "enum": [
              "Certificate authority is referenced"
            ]
          }
        },
        "title": "SSH-CA-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCa006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate authority is not ready",
        "properties": {
          "error": {
            "enum": [
              "SSH-CA-006"
            ]
          },
          "message": {
            "enum": [
              "Certificate authority is not ready"
            ]
          },
          "title": {
            "enum": [
              "Certificate authority is not ready"
            ]
          }
        },
        "title": "SSH-CA-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "KRLInfo": {
        "properties": {
          "id": {
            "type": "string",
            "format": "Mongo Object Identifier",
            "pattern": "^[a-f\\d]{24}$"
          },
          "ca": {
            "description": "The OpenSSH certificate authority name",
            "type": "string"
          },
          "number": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "thisUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "nextRefresh": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "errors": {
            "type": "string",
            "description": "An error in case of the KRL generation failure",
            "nullable": true
          }
        },
        "required": [
          "id",
          "ca",
          "thisUpdate"
        ]
      },
      "Krl001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "KRL-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "KRL-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHLifecycle001": {
        "title": "LIFECYCLE-SSH-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateType": {
        "type": "string",
        "description": "The Type of OpenSSH certificate",
        "default": "HOST",
        "enum": [
          "USER",
          "HOST"
        ]
      },
      "SSHTemplate": {
        "properties": {
          "name": {
            "type": "string",
            "example": "sshBasicTemplate",
            "description": "Name of the template to enroll on"
          },
          "lifetime": {
            "nullable": true,
            "type": "string",
            "description": "Lifetime of the OpenSSH certificate to enroll",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "365 days"
          },
          "backdate": {
            "nullable": true,
            "type": "string",
            "description": "Time to substract to current time to set the validAfter of the certificate to enroll",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SSHCertificateType"
              }
            ],
            "nullable": true
          }
        }
      },
      "SSHEnrollmentRequestTemplate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHTemplate"
          }
        ],
        "title": "EnrollmentRequestTemplate",
        "description": "The template of the certificate. Parameters can be modified if this was allowed in template configuration.",
        "required": [
          "name"
        ]
      },
      "SSHEnrollmentRequest": {
        "properties": {
          "ca": {
            "description": "The OpenSSH Certificate Authority name on which to enroll the certificate",
            "type": "string",
            "example": "SSHCa"
          },
          "publicKey": {
            "description": "The OpenSSH public key to sign",
            "type": "string",
            "example": "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEPjLnOU1Lmc69HUyMnTOZw1CyA9nEx6lAp5FRH+skaFFzjp8Hkk/HYg9eSuU8j6HMHAocynoNkkBeCsPTIvWLs= key-id@example.local\n"
          },
          "template": {
            "$ref": "#/components/schemas/SSHEnrollmentRequestTemplate"
          },
          "principals": {
            "description": "Hostnames covered by the certificate",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "host.example.com",
              "host2.example.com"
            ]
          }
        },
        "required": [
          "ca",
          "publicKey",
          "template",
          "principals"
        ]
      },
      "OpensshCertificate": {
        "type": "string",
        "format": "OpenSSH Certificate",
        "description": "The [OpenSSH certificate representation](https://github.com/openssh/openssh-portable/blob/master/PROTOCOL.certkeys)\n",
        "example": "ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAEHJkTlFWOEVoVTkxUFBreFUAAAAgqAaZh1GhNTEnnVrIdLdf+TS8SwKYq3rCOWHwAftZaiE7QzaFIp00DgAAAAIAAAAWc21hMm1iYS5sb2NhbCBob3N0IGtleQAAABEAAAANc21hMm1iYS5sb2NhbAAAAABn9kd4AAAAAGnXevgAAAAAAAAAAAAAAAAAAAIXAAAAB3NzaC1yc2EAAAADAQABAAACAQC5NOkSDLV1ekD5Hve9sADKYIRnfNZH4bBg/YQdGA4nnC6IQevvr1bHYClru1RyU9rzenm9DIlUVxcUV7dE7hRzOX9dn3vCRarUfRHIVkMQ1zRsP6hFIaIBqI4W+qd9lvQzwJqLAxiRbyTmik6Mto+kIIguonwAFyN07ov+qiwt24l5xo7dOLvRaQHmk3x0mocKuBQH45bB6ikdr8hz5q0RCKfQT6R2uN075YSgCAyBg6aO7NBs/2YcAqvY5R8wKoLkKL72DWr4Zr0y0s3q0RxjgWN1cfGdhX/5afv0AlScmhu2e8H2x0RiuhE4xcMaSoMIXsIm2hy6EyVJ68ybSMqIt2vq78/1njNaEw/Ir/9vblMv6FNJp6VidE++JTo+7oF1tIyX8PvDIj2zwsS8vPksdhGmD042SagHrwW9FdV/ZMLk7opiKYVZlKkyylEPV12fPbdYjBaZQFiSVr/QmVx+fYAhuuwIV5MNFCPh5+2dTm/X9NbpVUGvZnnCmlBUKO5aV+zl9QNMVTIGqK70Nsqah3xy90ptmZhrn69VD0crDGAM9LyGrqVWG2uNQMuhUfGWlu8MVoAYmPFCSeObYrMjCCDTORzWrh911JmcyYKG7/VX+hgCRECcbtql3UbkCuXH1O1BYODSWlspFj2JjvuvQDRn67KFyN/Du34dk3UWUQAAAhQAAAAMcnNhLXNoYTItMjU2AAACAFQR7OSOiIwu0i9PcD+rZK91jJCyol2wJhJDCE+LOYaPjOI9IP08PMi8b4kjEwMrDjjKwFUZr1pqzzIhUkD1OHuYG9P6KW9u0u/P83AZN6LYXHAJhQI9qTd32TOc/EYHyDje975QVScRtQesN7S8RQUrN0NoP1kArsFdxyW2Dhz/A4Eo2tGodiNs6is2xApvXpkFpWo1a91vCMPqx2HJBPQRD/PlI3YgA0pbU4TE0FKjadK3Pjpr1G2VNs5//5DDXfT/ZDNhdLKVzq2h3XbG5rSdwqFJTuHXNl05tsYe7HjDwU7Sg0Gu2+igphDxyGn+6+IQlEi7HVVAjFwRhVb9YbXXrFecA+Cm09G+51nPgt/UMahz6VH6idQm6QcsnEkB5+xHqOz0QuR++iPYatUOYa5GX6EvOBubc1uh4BjHFQfOGc4JxB+Ejrw2Nq2+WXpkJzIs/84TwuoHJpUhaLh3q4mwajB8anL44KvATpNFCARVOBajnEwS4qJZPJNCV9Rn8OZdlIz0TRTrBpW7ClSTbIk1BYGsF4uP4ufbxfrsQjgdNxbyUsX10a/FOjcmy/6apVj6+aGITr0U3fC2nB8p/LXPPv8vVfqT0QUPpH1drCWUbK5zHh/ijlPhSoGM+NY89RK1JC9qpdJahNicTa9s4UeSdSDLpavRCFSoYiFJvcaO"
      },
      "BaseSSHCertificate": {
        "title": "SSHCertificate",
        "properties": {
          "id": {
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "ca": {
            "description": "Name of the OpenSSH Certificate Authority the certificate is enrolled on",
            "type": "string",
            "example": "SSHCa"
          },
          "template": {
            "type": "string",
            "description": "Name of the Template the certificate is enrolled on",
            "example": "sshTemplate"
          },
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpensshCertificate"
              }
            ]
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SSHCertificateType"
              }
            ]
          },
          "serial": {
            "description": "The serial number of the certificate",
            "type": "string",
            "example": "4270316817116640270"
          },
          "principals": {
            "description": "Hostnames covered by the certificate",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "host.example.com",
              "host2.example.com"
            ]
          },
          "validAfter": {
            "description": "The start of the validity period of the certificate",
            "type": "string",
            "format": "date-time"
          },
          "validBefore": {
            "description": "The end of the validity period of the certificate",
            "type": "string",
            "format": "date-time"
          },
          "publicKeyThumbprint": {
            "type": "string",
            "description": "The thumbprint of the public key of the certificate",
            "example": "506f75724e6f73416d69734672616e63616973"
          },
          "revoked": {
            "description": "If true, the certificate is revoked",
            "example": false,
            "type": "boolean"
          },
          "revocationDate": {
            "type": "string",
            "description": "The revocation date of the certificate",
            "format": "date-time",
            "nullable": true
          },
          "keyId": {
            "type": "string",
            "example": "example.local host key"
          }
        },
        "required": [
          "id",
          "ca",
          "certificate",
          "type",
          "serial",
          "principals",
          "validAfter",
          "validBefore",
          "publicKeyThumbprint",
          "revoked",
          "keyId"
        ]
      },
      "SSHCertificate": {
        "title": "SSHCertificate",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSSHCertificate"
          }
        ],
        "properties": {
          "signingCa": {
            "description": "The Signing CA identifier",
            "type": "string",
            "example": "ssh-rsa SHA256:hrJjDbWIDW1/h1XX2WTRIzCv3IWN9JAL/3VxyqCPygo="
          }
        },
        "required": [
          "signingCa"
        ]
      },
      "SSHLifecycle004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate enrollment request",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate enrollment request"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate enrollment request"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHLifecycle002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority enrollment is disabled",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-002"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority enrollment is disabled"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority enrollment is disabled"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHLifecycle003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is not ready",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateTemplate003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate template not found or disabled",
        "properties": {
          "error": {
            "enum": [
              "SSH-TEMPLATE-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate template not found or disabled"
            ]
          },
          "title": {
            "enum": [
              "Certificate template not found or disabled"
            ]
          }
        },
        "title": "SSH-TEMPLATE-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHLifecycle005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate enrollment error",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate enrollment error"
            ]
          },
          "title": {
            "enum": [
              "Certificate enrollment error"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHRevocationRequestWithCertificate": {
        "title": "Revocation Using OpenSSH Certificate",
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpensshCertificate"
              }
            ]
          }
        },
        "required": [
          "certificate"
        ]
      },
      "SSHRevocationRequestWithSerialAndCa": {
        "title": "Revocation Using Serial and CA",
        "properties": {
          "serial": {
            "type": "string",
            "description": "The serial of the certificate to revoke",
            "example": "68747470733123314566134"
          },
          "ca": {
            "description": "The name of the Issuing Certificate Authority of the certificate to revoke",
            "type": "string",
            "example": "SSHCa"
          }
        },
        "required": [
          "serial",
          "ca"
        ]
      },
      "SSHLifecycle006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate revocation request",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate revocation request"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate revocation request"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHLifecycle007": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate revocation error",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-SSH-007"
            ]
          },
          "message": {
            "enum": [
              "Certificate revocation error"
            ]
          },
          "title": {
            "enum": [
              "Certificate revocation error"
            ]
          }
        },
        "title": "LIFECYCLE-SSH-007",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lifecycle007": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate revocation error",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-007"
            ]
          },
          "message": {
            "enum": [
              "Certificate revocation error"
            ]
          },
          "title": {
            "enum": [
              "Certificate revocation error"
            ]
          }
        },
        "title": "LIFECYCLE-X509-007",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHKeyTypes": {
        "title": "Key type",
        "type": "string",
        "description": "The key type",
        "enum": [
          "ssh-rsa",
          "ecdsa-sha2-nistp256",
          "ecdsa-sha2-nistp384",
          "ecdsa-sha2-nistp521",
          "ssh-ed25519"
        ]
      },
      "PrincipalsElement": {
        "description": "The principal policy",
        "properties": {
          "min": {
            "type": "integer",
            "format": "int32",
            "description": "The minimum number of principals to be present in the request"
          },
          "max": {
            "type": "integer",
            "format": "int32",
            "description": "The maximum number of principals to be present in the request"
          },
          "regex": {
            "type": "string",
            "description": "The regex that all principal in the request must match",
            "example": "^.*?\\.example\\.com$"
          }
        }
      },
      "SSHCertificateTemplate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHTemplate"
          }
        ],
        "properties": {
          "enabled": {
            "description": "If true, this template can be used for OpenSSH certificate enrollment",
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "description": "Name of the certificate template",
            "example": "Server"
          },
          "authorizedKeyTypes": {
            "type": "array",
            "description": "The authorized ssh keytype",
            "items": {
              "type": "string",
              "allOf": [
                {
                  "$ref": "#/components/schemas/SSHKeyTypes"
                }
              ]
            }
          },
          "principalPolicy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrincipalsElement"
              }
            ]
          }
        },
        "required": [
          "name",
          "enabled",
          "lifetime"
        ]
      },
      "SSHCertificateTemplateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHCertificateTemplate"
          }
        ],
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          }
        },
        "required": [
          "id"
        ]
      },
      "SSHCertificateTemplate001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "SSH-TEMPLATE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "SSH-TEMPLATE-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateTemplateRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHCertificateTemplate"
          }
        ]
      },
      "SSHCertificateTemplate002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate template",
        "properties": {
          "error": {
            "enum": [
              "SSH-TEMPLATE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate template"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate template"
            ]
          }
        },
        "title": "SSH-TEMPLATE-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateTemplate004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate template already exists",
        "properties": {
          "error": {
            "enum": [
              "SSH-TEMPLATE-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate template already exists"
            ]
          },
          "title": {
            "enum": [
              "Certificate template already exists"
            ]
          }
        },
        "title": "SSH-TEMPLATE-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificateTemplate005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "A valid certificate exists on the template",
        "properties": {
          "error": {
            "enum": [
              "SSH-TEMPLATE-005"
            ]
          },
          "message": {
            "enum": [
              "A valid certificate exists on the template"
            ]
          },
          "title": {
            "enum": [
              "A valid certificate exists on the template"
            ]
          }
        },
        "title": "SSH-TEMPLATE-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCertificatePermissions": {
        "title": "Permissions",
        "properties": {
          "revoke": {
            "description": "Is the user allowed to revoke the certificate or not",
            "type": "boolean"
          }
        },
        "required": [
          "revoke"
        ]
      },
      "SSHCertificateWithPermissions": {
        "properties": {
          "certificate": {
            "$ref": "#/components/schemas/SSHCertificate"
          },
          "permissions": {
            "$ref": "#/components/schemas/SSHCertificatePermissions"
          }
        },
        "required": [
          "certificate",
          "permissions"
        ]
      },
      "SSHCert004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate not found",
        "properties": {
          "error": {
            "enum": [
              "SSH-CERT-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate not found"
            ]
          }
        },
        "title": "SSH-CERT-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SSHCert001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "SSH-CERT-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "SSH-CERT-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SortElement": {
        "title": "Sort By",
        "properties": {
          "element": {
            "description": "The element on which to sort",
            "example": "id",
            "type": "string"
          },
          "order": {
            "description": "The order to use for the sort. `Asc` and `Desc` sort the values, and `KeyAsc` and `KeyDesc` sort by the key, in case of a key-value element",
            "type": "string",
            "enum": [
              "Asc",
              "Desc",
              "KeyAsc",
              "KeyDesc"
            ]
          }
        },
        "required": [
          "element",
          "order"
        ]
      },
      "SSHCertificateSearchQuery": {
        "properties": {
          "query": {
            "example": "status is valid",
            "description": "A SSHSCQL query to filter the certificates",
            "type": "string",
            "nullable": true
          },
          "fields": {
            "description": "The fields that must be present in the response",
            "example": [
              "id",
              "ca"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "sortedBy": {
            "type": "array",
            "description": "How to sort the results",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SortElement"
            }
          },
          "pageIndex": {
            "type": "integer",
            "description": "Request the page at defined index",
            "example": 1,
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "example": 25,
            "description": "The number of results per request",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "type": "boolean",
            "nullable": true,
            "description": "Add the number of results to the search results",
            "example": true
          }
        }
      },
      "SSHCertificateSearchResult": {
        "title": "OpenSSH Certificate Search Result",
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSSHCertificate"
          }
        ],
        "properties": {
          "permissions": {
            "description": "The user's permissions on this certificate",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/SSHCertificatePermissions"
              }
            ]
          }
        },
        "required": [
          "template"
        ]
      },
      "SSHCertificateSearchResults": {
        "properties": {
          "results": {
            "description": "The list of certificates",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SSHCertificateSearchResult"
            }
          },
          "pageIndex": {
            "description": "The current page index",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "pageSize": {
            "description": "The current page size",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "count": {
            "description": "The total number of results. Only available if `withCount` was requested",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 467
          },
          "hasMore": {
            "description": "`true` while the page is not the last, else `false`",
            "type": "boolean"
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "SSHCert002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid search query",
        "properties": {
          "error": {
            "enum": [
              "SSH-CERT-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid search query"
            ]
          },
          "title": {
            "enum": [
              "Invalid search query"
            ]
          }
        },
        "title": "SSH-CERT-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Sql001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid StreamQL Query",
        "properties": {
          "error": {
            "enum": [
              "STREAMQL-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid StreamQL Query"
            ]
          },
          "title": {
            "enum": [
              "Invalid StreamQL Query"
            ]
          }
        },
        "title": "STREAMQL-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Having": {
        "title": "Having",
        "properties": {
          "operator": {
            "description": "A mongoDB operator for comparison",
            "type": "string",
            "example": "gt",
            "enum": [
              "gte",
              "lte",
              "gt",
              "eq",
              "ne",
              "lt"
            ]
          },
          "value": {
            "description": "An integer for the right hand side of the condition",
            "type": "integer",
            "format": "int32",
            "example": 5
          }
        },
        "required": [
          "operator",
          "value"
        ]
      },
      "SSHCertificateAggregateQuery": {
        "properties": {
          "query": {
            "description": "The SSHSCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing",
            "example": "status is valid",
            "type": "string",
            "nullable": true
          },
          "groupBy": {
            "description": "The field that the aggregation will take place on",
            "example": [
              "keyType"
            ],
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "withCount": {
            "description": "If set to `true`, the total count of certificates matching the SSHSCQL query will be returned",
            "type": "boolean",
            "nullable": true
          },
          "sortOrder": {
            "type": "string",
            "nullable": true,
            "enum": [
              "Asc",
              "Desc",
              "KeyAsc",
              "KeyDesc"
            ]
          },
          "limit": {
            "description": "In case of an aggregate sending a lot of different results, how many must be sent back",
            "example": 3,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "having": {
            "description": "A condition to apply to the result. Only the aggregates results with more than 5 certificates in them can be kept for example",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Having"
              }
            ]
          }
        }
      },
      "SSHCertificateAggregateResult": {
        "title": "Aggregate Result",
        "properties": {
          "items": {
            "description": "All the groups in this aggregate",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "object",
                  "description": "The object containing this group's information",
                  "properties": {
                    "groupedByField": {
                      "type": "string",
                      "example": "rsa-2048",
                      "description": "This field has the requested aggregate field as key, and the value for this group as value"
                    }
                  }
                },
                "count": {
                  "description": "The number of certificates in this group",
                  "type": "integer",
                  "example": 6
                }
              }
            }
          },
          "count": {
            "description": "The total number of certificates matching the query",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 6
          }
        },
        "required": [
          "items"
        ]
      },
      "SSHCert003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid aggregate query",
        "properties": {
          "error": {
            "enum": [
              "SSH-CERT-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid aggregate query"
            ]
          },
          "title": {
            "enum": [
              "Invalid aggregate query"
            ]
          }
        },
        "title": "SSH-CERT-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TriggersTimestampingSigner": {
        "type": "object",
        "properties": {
          "onTSASignerExpiration": {
            "nullable": true,
            "description": "Name of the notifications to send when the Timestamping signer expires",
            "type": "array",
            "items": {
              "type": "string"
            },
            "example": [
              "mail-tsa-expire"
            ]
          }
        }
      },
      "OCSPSignerResponse": {
        "title": "OCSP Signer",
        "allOf": [
          {
            "$ref": "#/components/schemas/X509Signer"
          }
        ],
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CFCertificate"
              }
            ]
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersTimestampingSigner"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "privateKey"
        ]
      },
      "OCSPSigner001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "OCSP-SIGNER-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "OCSPSigner": {
        "title": "OCSP Signer",
        "allOf": [
          {
            "$ref": "#/components/schemas/X509Signer"
          }
        ],
        "properties": {
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersTimestampingSigner"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "privateKey"
        ]
      },
      "OCSPSigner002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid OCSP Signer",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid OCSP Signer"
            ]
          },
          "title": {
            "enum": [
              "Invalid OCSP Signer"
            ]
          }
        },
        "title": "OCSP-SIGNER-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "OCSPSigner003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "OCSP Signer not found",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-003"
            ]
          },
          "message": {
            "enum": [
              "OCSP Signer not found"
            ]
          },
          "title": {
            "enum": [
              "OCSP Signer not found"
            ]
          }
        },
        "title": "OCSP-SIGNER-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "OCSPSigner004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "OCSP Signer already exists",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-004"
            ]
          },
          "message": {
            "enum": [
              "OCSP Signer already exists"
            ]
          },
          "title": {
            "enum": [
              "OCSP Signer already exists"
            ]
          }
        },
        "title": "OCSP-SIGNER-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "OCSPSigner005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "OCSP Signer is referenced",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-005"
            ]
          },
          "message": {
            "enum": [
              "OCSP Signer is referenced"
            ]
          },
          "title": {
            "enum": [
              "OCSP Signer is referenced"
            ]
          }
        },
        "title": "OCSP-SIGNER-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "OCSPSigner006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "OCSP Signer certification request generation error",
        "properties": {
          "error": {
            "enum": [
              "OCSP-SIGNER-006"
            ]
          },
          "message": {
            "enum": [
              "OCSP Signer certification request generation error"
            ]
          },
          "title": {
            "enum": [
              "OCSP Signer certification request generation error"
            ]
          }
        },
        "title": "OCSP-SIGNER-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSignerResponse": {
        "title": "Timestamping Signer",
        "allOf": [
          {
            "$ref": "#/components/schemas/X509Signer"
          }
        ],
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CFCertificate"
              }
            ]
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersTimestampingSigner"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "privateKey"
        ]
      },
      "TimestampingSigner001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSigner": {
        "title": "Timestamping Signer",
        "allOf": [
          {
            "$ref": "#/components/schemas/X509Signer"
          }
        ],
        "properties": {
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersTimestampingSigner"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "privateKey"
        ]
      },
      "TimestampingSigner002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Timestamping Signer",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Timestamping Signer"
            ]
          },
          "title": {
            "enum": [
              "Invalid Timestamping Signer"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSigner003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Signer not found",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-003"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Signer not found"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Signer not found"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSigner004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Signer already exists",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-004"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Signer already exists"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Signer already exists"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSigner005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Signer is referenced",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-005"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Signer is referenced"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Signer is referenced"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingSigner006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Signer certification request generation error",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-SIGNER-006"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Signer certification request generation error"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Signer certification request generation error"
            ]
          }
        },
        "title": "TIMESTAMPING-SIGNER-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "NTPClientResponse": {
        "title": "NTP Client",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The NTP Client's name",
            "example": "GoogleNTP"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The NTP Client's description",
            "example": "Fetches google NTP"
          },
          "host": {
            "type": "string",
            "description": "The host for the ntp server",
            "example": "ntp.google.com"
          },
          "port": {
            "nullable": true,
            "type": "integer",
            "example": 123,
            "description": "The port on which to join the host for NTP"
          },
          "timeout": {
            "nullable": true,
            "description": "The timeout on the NTP request",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "maxStratum": {
            "nullable": true,
            "description": "The max stratum on the NTP request. If this is exceeded, the NTP request is considered as failed",
            "type": "integer",
            "example": 2
          },
          "maxOffset": {
            "nullable": true,
            "description": "The max offset on the NTP request. If this is exceeded, the NTP request is considered as failed",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "maxRTT": {
            "nullable": true,
            "description": "The max RTT on the NTP request (in millis). If this is exceeded, the NTP request is considered as failed",
            "type": "integer",
            "example": 250
          }
        },
        "required": [
          "id",
          "name",
          "host"
        ]
      },
      "Ntp001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "NTP-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "NTP-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "NTPClient": {
        "title": "NTP Client",
        "properties": {
          "name": {
            "type": "string",
            "description": "The NTP Client's name",
            "example": "GoogleNTP"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The NTP Client's description",
            "example": "Fetches google NTP"
          },
          "host": {
            "type": "string",
            "description": "The host for the ntp server",
            "example": "ntp.google.com"
          },
          "port": {
            "nullable": true,
            "type": "integer",
            "example": 123,
            "description": "The port on which to join the host for NTP"
          },
          "timeout": {
            "nullable": true,
            "description": "The timeout on the NTP request",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "maxStratum": {
            "nullable": true,
            "description": "The max stratum on the NTP request. If this is exceeded, the NTP request is considered as failed",
            "type": "integer",
            "example": 2
          },
          "maxOffset": {
            "nullable": true,
            "description": "The max offset on the NTP request. If this is exceeded, the NTP request is considered as failed",
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "maxRTT": {
            "nullable": true,
            "description": "The max RTT on the NTP request (in millis). If this is exceeded, the NTP request is considered as failed",
            "type": "integer",
            "example": 250
          }
        },
        "required": [
          "name",
          "host"
        ]
      },
      "Ntp002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid NTP Client",
        "properties": {
          "error": {
            "enum": [
              "NTP-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid NTP Client"
            ]
          },
          "title": {
            "enum": [
              "Invalid NTP Client"
            ]
          }
        },
        "title": "NTP-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ntp003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "NTP Client not found",
        "properties": {
          "error": {
            "enum": [
              "NTP-003"
            ]
          },
          "message": {
            "enum": [
              "NTP Client not found"
            ]
          },
          "title": {
            "enum": [
              "NTP Client not found"
            ]
          }
        },
        "title": "NTP-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ntp004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "NTP Client already exists",
        "properties": {
          "error": {
            "enum": [
              "NTP-004"
            ]
          },
          "message": {
            "enum": [
              "NTP Client already exists"
            ]
          },
          "title": {
            "enum": [
              "NTP Client already exists"
            ]
          }
        },
        "title": "NTP-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ntp005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "NTP Client is referenced",
        "properties": {
          "error": {
            "enum": [
              "NTP-005"
            ]
          },
          "message": {
            "enum": [
              "NTP Client is referenced"
            ]
          },
          "title": {
            "enum": [
              "NTP Client is referenced"
            ]
          }
        },
        "title": "NTP-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingAuthorityResponse": {
        "title": "Timestamping Authority",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The Timestamping Authority's name",
            "example": "TSA1"
          },
          "policyOid": {
            "type": "string",
            "description": "The Timestamping Policy OID",
            "example": "1.1"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Allow this authority to sign timestamping requests"
          },
          "signer": {
            "type": "string",
            "description": "Name of the Timestamping Signer used to sign for this authority",
            "example": "TimestampingSigner"
          },
          "acceptedHashAlgorithms": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/HashAlgorithm"
                }
              ]
            }
          },
          "ntpClients": {
            "type": "array",
            "description": "Name of the NTP Clients used to get time for this authority",
            "example": [
              "GoogleNTP"
            ],
            "items": {
              "type": "string"
            }
          },
          "checkRevocation": {
            "type": "boolean",
            "example": false,
            "description": "Before signing the request, check revocation status of the signer certificate"
          }
        },
        "required": [
          "id",
          "name",
          "policyOid",
          "enabled",
          "signer",
          "acceptedHashAlgorithms",
          "ntpClients",
          "checkRevocation"
        ]
      },
      "TimestampingAuthority001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-AUTHORITY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "TIMESTAMPING-AUTHORITY-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingAuthority": {
        "title": "Timestamping Authority",
        "properties": {
          "name": {
            "type": "string",
            "description": "The Timestamping Authority's name",
            "example": "TSA1"
          },
          "policyOid": {
            "type": "string",
            "description": "The Timestamping Policy OID",
            "example": "1.1"
          },
          "enabled": {
            "type": "boolean",
            "example": true,
            "description": "Allow this authority to sign timestamping requests"
          },
          "signer": {
            "type": "string",
            "description": "Name of the Timestamping Signer used to sign for this authority",
            "example": "TimestampingSigner"
          },
          "acceptedHashAlgorithms": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/HashAlgorithm"
                }
              ]
            }
          },
          "ntpClients": {
            "type": "array",
            "description": "Name of the NTP Clients used to get time for this authority",
            "example": [
              "GoogleNTP"
            ],
            "items": {
              "type": "string"
            }
          },
          "checkRevocation": {
            "type": "boolean",
            "example": false,
            "description": "Before signing the request, check revocation status of the signer certificate"
          }
        },
        "required": [
          "name",
          "policyOid",
          "enabled",
          "signer",
          "acceptedHashAlgorithms",
          "ntpClients",
          "checkRevocation"
        ]
      },
      "TimestampingAuthority002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Timestamping Authority",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-AUTHORITY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Timestamping Authority"
            ]
          },
          "title": {
            "enum": [
              "Invalid Timestamping Authority"
            ]
          }
        },
        "title": "TIMESTAMPING-AUTHORITY-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingAuthority005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Authority OID already exists",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-AUTHORITY-005"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Authority OID already exists"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Authority OID already exists"
            ]
          }
        },
        "title": "TIMESTAMPING-AUTHORITY-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingAuthority003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Authority not found",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-AUTHORITY-003"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Authority not found"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Authority not found"
            ]
          }
        },
        "title": "TIMESTAMPING-AUTHORITY-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TimestampingAuthority004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Timestamping Authority already exists",
        "properties": {
          "error": {
            "enum": [
              "TIMESTAMPING-AUTHORITY-004"
            ]
          },
          "message": {
            "enum": [
              "Timestamping Authority already exists"
            ]
          },
          "title": {
            "enum": [
              "Timestamping Authority already exists"
            ]
          }
        },
        "title": "TIMESTAMPING-AUTHORITY-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TriggersNotificationBase": {
        "type": "object",
        "properties": {
          "onTriggerError": {
            "description": "Notifications to run when this notification fails. Not available if the event for the notification is already `on_trigger_error`",
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Base": {
        "properties": {
          "name": {
            "type": "string",
            "example": "NOTIFICATION_EXPIRATION",
            "description": "Name of the notification"
          },
          "type": {
            "type": "string",
            "description": "The type of notification"
          },
          "runPeriod": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 days",
            "description": "Time period at which the notification needs to run. Can only be defined on expiration and pending events."
          },
          "event": {
            "description": "Event on which the notification runs",
            "type": "string",
            "enum": [
              "on_crl_gen",
              "on_crl_gen_error",
              "on_crl_gen_recover",
              "on_crl_update",
              "on_crl_update_error",
              "on_crl_update_recover",
              "on_crl_sync",
              "on_crl_sync_error",
              "on_crl_expiration",
              "on_krl_gen",
              "on_krl_gen_error",
              "on_krl_gen_recover",
              "on_krl_sync",
              "on_krl_sync_error",
              "on_x509_ca_expiration",
              "on_ocsp_signer_expiration",
              "on_tsa_signer_expiration",
              "on_credentials_expiration",
              "on_license_expiration",
              "on_trigger_error"
            ]
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersNotificationBase"
              }
            ],
            "nullable": true
          }
        }
      },
      "EmailTemplate": {
        "title": "Email template",
        "description": "Where and what to send in the email",
        "properties": {
          "to": {
            "type": "array",
            "description": "The recipient(s) of the e-mail",
            "items": {
              "type": "string"
            }
          },
          "from": {
            "type": "string",
            "description": "The sender name of the e-mail",
            "example": "noreply@stream.evertrust.fr"
          },
          "title": {
            "type": "string",
            "description": "The title of the e-mail. This is a customizable template string.",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            },
            "example": "Crl generated"
          },
          "body": {
            "type": "string",
            "nullable": true,
            "description": "The body of the e-mail. This is a customizable template string.",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            },
            "example": "CRL on ca {{ca.name}} successfully generated"
          },
          "isHtml": {
            "type": "boolean",
            "description": "Whether the e-mail contains HTML code",
            "example": false
          }
        },
        "required": [
          "from",
          "to",
          "title",
          "isHtml"
        ]
      },
      "EmailNotification": {
        "title": "Email Notification",
        "allOf": [
          {
            "$ref": "#/components/schemas/Base"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "email"
            ]
          },
          "template": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EmailTemplate"
              }
            ]
          }
        },
        "required": [
          "type",
          "template"
        ]
      },
      "REST": {
        "title": "REST notification",
        "allOf": [
          {
            "$ref": "#/components/schemas/Base"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "rest"
            ]
          },
          "method": {
            "type": "string",
            "description": "The HTTP method to use for the request",
            "example": "GET"
          },
          "url": {
            "type": "string",
            "format": "url",
            "description": "The URL to request. This is a template string and can be customized.",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            },
            "example": "https://stream.evertrust.fr/api/v1/test"
          },
          "authenticationType": {
            "type": "string",
            "description": "The authentication type to use while making the REST call. Is linked to `credentials`.",
            "example": "bearer",
            "enum": [
              "noauth",
              "basic",
              "x509",
              "bearer",
              "custom"
            ]
          },
          "credentials": {
            "nullable": true,
            "type": "string",
            "description": "Name of the credentials to use for authentication",
            "example": "myRawCredentials"
          },
          "headers": {
            "description": "The headers of the request",
            "nullable": true,
            "type": "array",
            "items": {
              "title": "header",
              "type": "object",
              "properties": {
                "name": {
                  "example": "Content-Type",
                  "description": "The header name",
                  "type": "string"
                },
                "value": {
                  "example": "application/json",
                  "description": "The header value. This is a customizable template string.",
                  "externalDocs": {
                    "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
                    "description": "Template string documentation"
                  },
                  "type": "string"
                }
              }
            }
          },
          "payloadType": {
            "nullable": true,
            "type": "string",
            "example": "json",
            "description": "For UI purposes in order to format the body correctly"
          },
          "payload": {
            "nullable": true,
            "type": "string",
            "example": "Hello {{certificate.dn.cn.1}}.",
            "description": "The body of the request. This is a customizable template string.",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "expectedHttpCodes": {
            "type": "array",
            "description": "The success HTTP codes for the request. If the return code is not in this list, the notification will be considered failed.",
            "example": [
              200,
              204
            ],
            "items": {
              "type": "integer"
            }
          },
          "proxy": {
            "nullable": true,
            "type": "string",
            "example": "ProxyForInternet",
            "description": "Name of a Proxy to use while making the request"
          },
          "timeout": {
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 s",
            "description": "Timeout for the HTTP request."
          }
        },
        "required": [
          "type",
          "method",
          "url",
          "authenticationType",
          "timeout",
          "expectedHttpCodes"
        ]
      },
      "TriggersBase": {
        "type": "object",
        "properties": {
          "onTriggerError": {
            "description": "Notifications to run when this trigger fails",
            "nullable": true,
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "TriggerBase": {
        "properties": {
          "name": {
            "type": "string",
            "example": "TRIGGER_GENERATION",
            "description": "Name of the external CRL storage"
          },
          "type": {
            "type": "string",
            "enum": [
              "external_rl_storage"
            ],
            "description": "The type of trigger"
          },
          "storageType": {
            "type": "string",
            "description": "The type of external CRL storage"
          },
          "description": {
            "type": "string",
            "description": "The description of this external CRL storage"
          },
          "credentials": {
            "type": "string",
            "description": "Name of the credentials to use to authenticate on the storage"
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersBase"
              }
            ],
            "nullable": true
          }
        }
      },
      "LDAPCRLStorage": {
        "title": "LDAP CRL Storage",
        "allOf": [
          {
            "$ref": "#/components/schemas/TriggerBase"
          }
        ],
        "properties": {
          "storageType": {
            "enum": [
              "ldap"
            ]
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer",
            "format": "int32"
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "secure": {
            "type": "boolean"
          },
          "disableHostnameValidation": {
            "type": "boolean"
          },
          "baseDN": {
            "type": "string"
          },
          "filter": {
            "type": "string"
          },
          "crlAttribute": {
            "type": "string"
          },
          "followReferrals": {
            "type": "boolean"
          }
        },
        "required": [
          "host",
          "port",
          "secure",
          "disableHostnameValidation",
          "baseDN",
          "filter",
          "crlAttribute",
          "followReferrals",
          "storageType"
        ]
      },
      "S3CRLStorage": {
        "title": "S3 CRL Storage",
        "allOf": [
          {
            "$ref": "#/components/schemas/TriggerBase"
          }
        ],
        "properties": {
          "storageType": {
            "enum": [
              "s3"
            ]
          },
          "roleArn": {
            "type": "string",
            "nullable": true
          },
          "region": {
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "rlAlias": {
            "nullable": true,
            "example": "{{Lower({{ca.name}})}}.crl",
            "type": "string",
            "description": "Template string defining the object name in the S3 bucket",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "endpoint": {
            "type": "string",
            "nullable": true
          },
          "forcePathStyle": {
            "type": "boolean"
          },
          "bucket": {
            "type": "string"
          }
        },
        "required": [
          "forcePathStyle",
          "bucket",
          "storageType"
        ]
      },
      "SSHBaseCRLStorage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/TriggerBase"
          }
        ],
        "properties": {
          "host": {
            "type": "string",
            "description": "Host to push the file to",
            "example": "evertrust.crl"
          },
          "port": {
            "type": "integer",
            "description": "Port on which to access the host",
            "example": 22
          },
          "fingerprint": {
            "type": "string",
            "nullable": true,
            "example": null,
            "description": "SSH fingerprint of the host to ensure connection to the correct host. If not defined, all fingerprints are accepted."
          },
          "useCompression": {
            "type": "boolean",
            "description": "Enable compression for the protocol."
          },
          "path": {
            "type": "string",
            "description": "Template string to define the path on the host machine.",
            "example": "/crls/{{Lower({{ca.name}})}}.crl",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "credentials": {
            "nullable": false
          }
        },
        "required": [
          "host",
          "port",
          "useCompression",
          "path",
          "credentials"
        ]
      },
      "SCPCRLStorage": {
        "title": "SCP CRL Storage",
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHBaseCRLStorage"
          }
        ],
        "properties": {
          "storageType": {
            "enum": [
              "scp"
            ]
          }
        },
        "required": [
          "storageType"
        ]
      },
      "SFTPCRLStorage": {
        "title": "SFTP CRL Storage",
        "allOf": [
          {
            "$ref": "#/components/schemas/SSHBaseCRLStorage"
          }
        ],
        "properties": {
          "storageType": {
            "enum": [
              "sftp"
            ]
          }
        },
        "required": [
          "storageType"
        ]
      },
      "StreamCRLStorage": {
        "title": "Stream CRL Storage",
        "allOf": [
          {
            "$ref": "#/components/schemas/TriggerBase"
          }
        ],
        "properties": {
          "storageType": {
            "enum": [
              "stream"
            ]
          },
          "endpoint": {
            "type": "string",
            "description": "Stream base endpoint",
            "example": "https://stream.evertrust.fr"
          },
          "ca": {
            "type": "string",
            "nullable": true,
            "description": "Name of the ca on the distant Stream instance. This is a customizable template string. If not defined, the ca name on this Stream instance is given.",
            "example": "{{Lower({{ca.name}})}}",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds",
            "description": "Timeout when making the request to stream"
          },
          "credentials": {
            "nullable": false
          }
        },
        "required": [
          "storageType",
          "endpoint",
          "credentials"
        ]
      },
      "SecAuth006": {
        "title": "SEC-AUTH-006",
        "description": "Principal not authenticated or authentication expired",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-006"
            ]
          },
          "message": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          },
          "title": {
            "enum": [
              "Principal not authenticated or authentication expired"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth007": {
        "title": "SEC-AUTH-007",
        "description": "Invalid Identity Provider",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-007"
            ]
          },
          "message": {
            "enum": [
              "Invalid Identity Provider"
            ]
          },
          "title": {
            "enum": [
              "Invalid Identity Provider"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecAuth008": {
        "title": "SEC-AUTH-008",
        "description": "Invalid redirect path",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-AUTH-008"
            ]
          },
          "message": {
            "enum": [
              "Invalid redirect path"
            ]
          },
          "title": {
            "enum": [
              "Invalid redirect path"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Trig001": {
        "title": "TRIGGER-001",
        "description": "Unexpected Error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TRIGGER-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Trig002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Trigger",
        "properties": {
          "error": {
            "enum": [
              "TRIGGER-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid trigger"
            ]
          },
          "title": {
            "enum": [
              "Invalid trigger"
            ]
          }
        },
        "title": "TRIGGER-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Trig003": {
        "title": "TRIGGER-003",
        "description": "Trigger not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "TRIGGER-003"
            ]
          },
          "message": {
            "enum": [
              "Trigger not found"
            ]
          },
          "title": {
            "enum": [
              "Trigger not found"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Trig004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Trigger already exists",
        "properties": {
          "error": {
            "enum": [
              "TRIGGER-004"
            ]
          },
          "message": {
            "enum": [
              "Trigger already exists"
            ]
          },
          "title": {
            "enum": [
              "Trigger already exists"
            ]
          }
        },
        "title": "TRIGGER-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Trig005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Referenced Trigger",
        "properties": {
          "error": {
            "enum": [
              "TRIGGER-005"
            ]
          },
          "message": {
            "enum": [
              "Trigger is referenced"
            ]
          },
          "title": {
            "enum": [
              "Trigger is referenced"
            ]
          }
        },
        "title": "TRIGGER-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CRLInfo": {
        "properties": {
          "id": {
            "type": "string",
            "format": "Mongo Object Identifier",
            "pattern": "^[a-f\\d]{24}$"
          },
          "ca": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "managed",
              "external"
            ]
          },
          "number": {
            "type": "integer",
            "format": "int64",
            "nullable": true
          },
          "thisUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "nextUpdate": {
            "type": "string",
            "format": "date-time"
          },
          "nextRefresh": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "eidas": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "id",
          "ca",
          "type",
          "thisUpdate",
          "nextUpdate",
          "size"
        ]
      },
      "Crl001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "CRL-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "CRL-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "HardwareSecurityModuleInfo": {
        "properties": {
          "libraryVersion": {
            "example": "2.06",
            "description": "The Cryptoki library version number",
            "type": "string"
          },
          "cryptokiVersion": {
            "type": "string",
            "example": "2.40",
            "description": "The Cryptoki interface version number"
          },
          "manufacturerID": {
            "example": "SoftHSM",
            "description": "ID of the Cryptoki library manufacturer",
            "type": "string"
          },
          "libraryDescription": {
            "type": "string",
            "example": "Implementation of PKCS11",
            "description": "character-string description of the library"
          }
        },
        "required": [
          "libraryVersion",
          "cryptokiVersion",
          "manufacturerID",
          "libraryDescription"
        ]
      },
      "Hsm001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "HSM-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "HSM-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "HardwareSecurityModuleSlot": {
        "properties": {
          "id": {
            "type": "integer",
            "example": 1,
            "description": "ID of the slot",
            "format": "int64"
          },
          "isHardwareSlot": {
            "description": "True if the slot is a hardware slot, as opposed to a software slot implementing a soft token",
            "type": "boolean"
          },
          "manufacturerID": {
            "description": "ID of the slot manufacturer",
            "example": "SoftHSM project",
            "type": "string"
          },
          "hardwareVersion": {
            "description": "hardware version number of the slot",
            "example": "2.06",
            "type": "string"
          },
          "firmwareVersion": {
            "description": "firmware version number of the slot",
            "example": "2.06",
            "type": "string"
          },
          "description": {
            "description": "character-string description of the slot",
            "example": "SoftHSM slot ID 0x1",
            "type": "string"
          }
        },
        "required": [
          "id",
          "isHardwareSlot",
          "manufacturerID",
          "hardwareVersion",
          "firmwareVersion",
          "description"
        ]
      },
      "ExtendedKeyUsageElement": {
        "title": "Extended Key Usage Element",
        "properties": {
          "name": {
            "example": "CustomEKU",
            "type": "string",
            "description": "Name of the Extended Key Usage"
          },
          "oid": {
            "description": "Object Identifier of the Extended Key Usage",
            "type": "string",
            "example": "1.3.89.5809.638.10.910.753.620"
          },
          "custom": {
            "type": "boolean",
            "example": true,
            "description": "If true, this Extended Key Usage is custom"
          }
        },
        "required": [
          "name",
          "oid",
          "custom"
        ]
      },
      "Eku001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "EKU-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "EKU-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Eku002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid extended key usage",
        "properties": {
          "error": {
            "enum": [
              "EKU-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid extended key usage"
            ]
          },
          "title": {
            "enum": [
              "Invalid extended key usage"
            ]
          }
        },
        "title": "EKU-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Eku005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Cannot update/delete standard extended key usage",
        "properties": {
          "error": {
            "enum": [
              "EKU-005"
            ]
          },
          "message": {
            "enum": [
              "Cannot update/delete standard extended key usage"
            ]
          },
          "title": {
            "enum": [
              "Cannot update/delete standard extended key usage"
            ]
          }
        },
        "title": "EKU-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Eku003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Extended key usage not found",
        "properties": {
          "error": {
            "enum": [
              "EKU-003"
            ]
          },
          "message": {
            "enum": [
              "Extended key usage not found"
            ]
          },
          "title": {
            "enum": [
              "Extended key usage not found"
            ]
          }
        },
        "title": "EKU-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Eku004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Extended key usage already exists",
        "properties": {
          "error": {
            "enum": [
              "EKU-004"
            ]
          },
          "message": {
            "enum": [
              "Extended key usage already exists"
            ]
          },
          "title": {
            "enum": [
              "Extended key usage already exists"
            ]
          }
        },
        "title": "EKU-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Eku006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Extended key usage is referenced",
        "properties": {
          "error": {
            "enum": [
              "EKU-006"
            ]
          },
          "message": {
            "enum": [
              "Extended key usage is referenced"
            ]
          },
          "title": {
            "enum": [
              "Extended key usage is referenced"
            ]
          }
        },
        "title": "EKU-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LibraryInfo": {
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "version"
        ]
      },
      "LicenseInfo": {
        "properties": {
          "isValid": {
            "type": "boolean"
          },
          "expiration": {
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "version": {
            "type": "string"
          },
          "buildTime": {
            "type": "string",
            "format": "date-time"
          },
          "libraries": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/LibraryInfo"
            }
          }
        },
        "required": [
          "isValid",
          "version",
          "buildTime",
          "libraries"
        ]
      },
      "QueueResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "Mongo Object Identifier",
            "pattern": "^[a-f\\d]{24}$"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "throttleDuration": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "throttleParallelism": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clusterWide": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "size",
          "clusterWide"
        ]
      },
      "Queue001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "QUEUE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "QUEUE-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Queue": {
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "size": {
            "type": "integer",
            "format": "int32"
          },
          "throttleDuration": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "throttleParallelism": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "clusterWide": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "size",
          "clusterWide"
        ]
      },
      "Queue002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid queue",
        "properties": {
          "error": {
            "enum": [
              "QUEUE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid queue"
            ]
          },
          "title": {
            "enum": [
              "Invalid queue"
            ]
          }
        },
        "title": "QUEUE-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Queue003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Queue not found",
        "properties": {
          "error": {
            "enum": [
              "QUEUE-003"
            ]
          },
          "message": {
            "enum": [
              "Queue not found"
            ]
          },
          "title": {
            "enum": [
              "Queue not found"
            ]
          }
        },
        "title": "QUEUE-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Queue004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Queue already exists",
        "properties": {
          "error": {
            "enum": [
              "QUEUE-004"
            ]
          },
          "message": {
            "enum": [
              "Queue already exists"
            ]
          },
          "title": {
            "enum": [
              "Queue already exists"
            ]
          }
        },
        "title": "QUEUE-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Queue005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Queue is referenced",
        "properties": {
          "error": {
            "enum": [
              "QUEUE-005"
            ]
          },
          "message": {
            "enum": [
              "Queue is referenced"
            ]
          },
          "title": {
            "enum": [
              "Queue is referenced"
            ]
          }
        },
        "title": "QUEUE-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CredentialType": {
        "type": "string",
        "enum": [
          "x509",
          "raw",
          "password",
          "ssh"
        ]
      },
      "CredentialProvider": {
        "type": "string",
        "enum": [
          "akv",
          "aws",
          "gcp",
          "s3"
        ]
      },
      "CredentialTarget": {
        "type": "string",
        "enum": [
          "akv",
          "aws",
          "gcp",
          "ldap",
          "openid",
          "rest",
          "ssh",
          "stream"
        ]
      },
      "TriggersCredentials": {
        "type": "object",
        "properties": {
          "onCredentialsExpiration": {
            "type": "array",
            "description": "Notifications to execute on credentials expiration",
            "example": [
              "credentials-expiration-notification"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "Credentials": {
        "properties": {
          "name": {
            "description": "Name of the credentials",
            "example": "AKV_credentials",
            "type": "string"
          },
          "description": {
            "description": "A description of the credentials",
            "example": "Can be used to connect to our AKV cloud KMS",
            "type": "string",
            "nullable": true
          },
          "type": {
            "description": "The type of these credentials",
            "type": "string"
          },
          "target": {
            "$ref": "#/components/schemas/CredentialTarget"
          },
          "expires": {
            "description": "The expiration date of these credentials",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersCredentials"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "type",
          "target"
        ]
      },
      "SecretString": {
        "title": "Secret String",
        "description": "A string containing a hidden secret",
        "properties": {
          "clear": {
            "description": "The clear value of the secret",
            "type": "string",
            "nullable": true,
            "writeOnly": true,
            "example": "Clear secret"
          }
        }
      },
      "RawCredentials": {
        "title": "Raw Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "raw"
            ]
          },
          "secret": {
            "description": "The raw secret (JSON or otherwise)",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "secret"
        ]
      },
      "PasswordCredentials": {
        "title": "Password Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "password"
            ]
          },
          "login": {
            "example": "akvAccount",
            "description": "The login of these credentials",
            "type": "string"
          },
          "password": {
            "description": "The password of these credentials",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "login",
          "password"
        ]
      },
      "X509Credentials": {
        "title": "X509 Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "x509"
            ]
          },
          "store": {
            "description": "The PKCS#12 certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "store"
        ]
      },
      "SshCredentials": {
        "title": "SSH Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "ssh"
            ]
          },
          "login": {
            "description": "The SSH login",
            "type": "string"
          },
          "key": {
            "description": "The SSH key",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "login",
          "key"
        ]
      },
      "Credential001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "CREDENTIALS-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Credential002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Credentials",
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Credentials"
            ]
          },
          "title": {
            "enum": [
              "Invalid Credentials"
            ]
          }
        },
        "title": "CREDENTIALS-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Credential003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Credentials not found",
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-003"
            ]
          },
          "message": {
            "enum": [
              "Credentials not found"
            ]
          },
          "title": {
            "enum": [
              "Credentials not found"
            ]
          }
        },
        "title": "CREDENTIALS-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "RawCredentialsOnSubmit": {
        "title": "Raw Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "raw"
            ]
          },
          "secret": {
            "description": "The raw secret (JSON or otherwise)",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "secret"
        ]
      },
      "PasswordCredentialsOnSubmit": {
        "title": "Password Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "password"
            ]
          },
          "login": {
            "example": "akvAccount",
            "description": "The login of these credentials",
            "type": "string"
          },
          "password": {
            "description": "The password of these credentials",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "login",
          "password"
        ]
      },
      "X509CredentialsOnSubmit": {
        "title": "X509 Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "x509"
            ]
          },
          "store": {
            "description": "The PKCS#12 certificate",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "store"
        ]
      },
      "SshCredentialsOnSubmit": {
        "title": "SSH Credentials",
        "allOf": [
          {
            "$ref": "#/components/schemas/Credentials"
          }
        ],
        "properties": {
          "type": {
            "enum": [
              "ssh"
            ]
          },
          "login": {
            "example": "username",
            "description": "The SSH login",
            "type": "string"
          },
          "key": {
            "description": "The SSH key",
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretString"
              }
            ]
          }
        },
        "required": [
          "type",
          "login",
          "key"
        ]
      },
      "Credential004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Credentials already exists",
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-004"
            ]
          },
          "message": {
            "enum": [
              "Credentials already exists"
            ]
          },
          "title": {
            "enum": [
              "Credentials already exists"
            ]
          }
        },
        "title": "CREDENTIALS-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Credential005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Credentials referenced",
        "properties": {
          "error": {
            "enum": [
              "CREDENTIALS-005"
            ]
          },
          "message": {
            "enum": [
              "Credentials referenced"
            ]
          },
          "title": {
            "enum": [
              "Credentials referenced"
            ]
          }
        },
        "title": "CREDENTIALS-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "HttpProxyResponse": {
        "properties": {
          "id": {
            "type": "string",
            "format": "Mongo Object Identifier",
            "pattern": "^[a-f\\d]{24}$",
            "example": "68e9f9d4e4b0a1b2c3d4e5f6"
          },
          "name": {
            "type": "string",
            "example": "corporate-proxy"
          },
          "host": {
            "type": "string",
            "example": "proxy.example.com"
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "example": 3128
          }
        },
        "required": [
          "id",
          "name",
          "host",
          "port"
        ]
      },
      "Proxy001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "PROXY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "PROXY-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "HttpProxy": {
        "properties": {
          "name": {
            "type": "string",
            "example": "corporate-proxy"
          },
          "host": {
            "type": "string",
            "example": "proxy.example.com"
          },
          "port": {
            "type": "integer",
            "format": "int32",
            "example": 3128
          }
        },
        "required": [
          "name",
          "host",
          "port"
        ]
      },
      "Proxy002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Http Proxy",
        "properties": {
          "error": {
            "enum": [
              "PROXY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Http Proxy"
            ]
          },
          "title": {
            "enum": [
              "Invalid Http Proxy"
            ]
          }
        },
        "title": "PROXY-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Proxy003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Http Proxy not found",
        "properties": {
          "error": {
            "enum": [
              "PROXY-003"
            ]
          },
          "message": {
            "enum": [
              "Http Proxy not found"
            ]
          },
          "title": {
            "enum": [
              "Http Proxy not found"
            ]
          }
        },
        "title": "PROXY-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Proxy004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Http Proxy already exists",
        "properties": {
          "error": {
            "enum": [
              "PROXY-004"
            ]
          },
          "message": {
            "enum": [
              "Http Proxy already exists"
            ]
          },
          "title": {
            "enum": [
              "Http Proxy already exists"
            ]
          }
        },
        "title": "PROXY-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Proxy005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Http Proxy is referenced",
        "properties": {
          "error": {
            "enum": [
              "PROXY-005"
            ]
          },
          "message": {
            "enum": [
              "Http Proxy is referenced"
            ]
          },
          "title": {
            "enum": [
              "Http Proxy is referenced"
            ]
          }
        },
        "title": "PROXY-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TrustChainAnchorChild": {
        "title": "Trust Chain Anchor",
        "description": "A trust chain element",
        "properties": {
          "ca": {
            "description": "Information about the Certificate Authority",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ManagedCertificateAuthority"
              },
              {
                "$ref": "#/components/schemas/ExternalCertificateAuthority"
              }
            ]
          },
          "subordinates": {
            "description": "List of the subordinates of this Certificate Authority",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrustChainAnchorChild"
            },
            "example": []
          }
        },
        "required": [
          "ca",
          "subordinates"
        ]
      },
      "TrustChainAnchor": {
        "title": "Trust Chain Anchor",
        "description": "A trust chain element",
        "properties": {
          "ca": {
            "description": "Information about the Certificate Authority",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ManagedCertificateAuthority"
              },
              {
                "$ref": "#/components/schemas/ExternalCertificateAuthority"
              }
            ]
          },
          "subordinates": {
            "description": "List of the subordinates of this Certificate Authority",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TrustChainAnchorChild"
            }
          }
        },
        "required": [
          "ca",
          "subordinates"
        ]
      },
      "Tc001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "TC-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "TC-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "KeyUsage": {
        "title": "Key Usage",
        "description": "Criticality and values of the Key Usages to add to the certificate",
        "properties": {
          "critical": {
            "type": "boolean",
            "description": "Make the Key Usages of the certificate critical"
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Selected Key Usages",
              "example": "keyAgreement",
              "enum": [
                "keyAgreement",
                "nonRepudiation",
                "decipherOnly",
                "digitalSignature",
                "encipherOnly",
                "keyEncipherment",
                "cRLSign",
                "keyCertSign",
                "dataEncipherment"
              ]
            }
          }
        },
        "required": [
          "critical",
          "values"
        ]
      },
      "ExtendedKeyUsage": {
        "title": "Extended Key Usages",
        "description": "Criticality and values of the Extended Key Usages to add to the certificate",
        "properties": {
          "critical": {
            "type": "boolean",
            "description": "Make the Extended Key Usages of the certificate critical"
          },
          "values": {
            "type": "array",
            "description": "Selected Extended Key Usages (standard or custom)",
            "items": {
              "$ref": "#/components/schemas/ExtendedKeyUsageElement"
            }
          }
        },
        "required": [
          "critical",
          "values"
        ]
      },
      "PrivateKeyUsagePeriod": {
        "title": "Private Key Usage Period",
        "properties": {
          "notBefore": {
            "description": "The private key can be used after this date",
            "type": "string",
            "format": "date-time"
          },
          "notAfter": {
            "description": "The private key cannot be used after this date",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "notBefore",
          "notAfter"
        ]
      },
      "DNElement": {
        "title": "DN Element",
        "properties": {
          "type": {
            "description": "Type of DN element",
            "type": "string",
            "enum": [
              "CN",
              "E",
              "OU",
              "ST",
              "L",
              "O",
              "C",
              "DC",
              "UID",
              "SERIALNUMBER",
              "SURNAME",
              "GIVENNAME",
              "UNSTRUCTUREDADDRESS",
              "UNSTRUCTUREDNAME",
              "ORGANIZATIONIDENTIFIER",
              "UNIQUEIDENTIFIER",
              "STREET",
              "DESCRIPTION",
              "T"
            ]
          },
          "mandatory": {
            "description": "If true, this element must be in the request or the request will be rejected",
            "type": "boolean"
          },
          "editable": {
            "description": "If true, this element can be provided in the request to be modified",
            "type": "boolean"
          },
          "value": {
            "description": "The default value of this element",
            "example": "Common Name",
            "type": "string",
            "nullable": true
          },
          "regex": {
            "description": "If set, the element value must match this regex or the request will be rejected. This cannot be set with a whitelist",
            "type": "string",
            "example": "^.*$",
            "nullable": true
          },
          "whitelist": {
            "description": "A list of allowed values. If set, all requests containing an element not in this whitelist will be rejected. This cannot be set with a regex",
            "type": "array",
            "example": [
              "Common Name"
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "type",
          "mandatory",
          "editable"
        ]
      },
      "SANElement": {
        "title": "SAN Element",
        "properties": {
          "type": {
            "description": "Type of SAN element",
            "type": "string",
            "enum": [
              "RFC822NAME",
              "DNSNAME",
              "URI",
              "IPADDRESS",
              "OTHERNAME_UPN",
              "OTHERNAME_GUID",
              "REGISTERED_ID"
            ]
          },
          "min": {
            "description": "If set, the request must provide a minimal number of SAN from this type or it will be rejected",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "max": {
            "description": "If set, the request must provide a maximal number of SAN from this type or it will be rejected",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 3
          },
          "regex": {
            "example": "^.*$",
            "description": "If set, the element values must match this regex or the request will be rejected",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "ExtensionElement": {
        "title": "Extension Element",
        "properties": {
          "type": {
            "description": "Type of Extension element",
            "type": "string",
            "enum": [
              "ms_template",
              "ms_sid"
            ]
          },
          "value": {
            "example": "MStemplate",
            "description": "The default value of this element",
            "type": "string",
            "nullable": true
          },
          "mandatory": {
            "description": "If true, this element must be in the request or the request will be rejected",
            "type": "boolean"
          },
          "editable": {
            "description": "If true, this element can be provided in the request to be modified",
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "mandatory",
          "editable"
        ]
      },
      "CertificateTemplateResponse": {
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Name of the certificate template",
            "example": "Server"
          },
          "ku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyUsage"
              }
            ],
            "description": "Key usages for the issued certificate",
            "nullable": true
          },
          "eku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExtendedKeyUsage"
              }
            ],
            "description": "Extended key usages for the issued certificate",
            "nullable": true
          },
          "emptyExtensions": {
            "description": "Additional extensions for the issued certificate (key values only)",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string",
              "enum": [
                "no_revocation_check"
              ]
            }
          },
          "crldps": {
            "description": "CRL Distribution Points for the issued certificate",
            "type": "array",
            "example": [
              "http://evertrust.fr/IssuingCA"
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "crldpsFromCA": {
            "description": "If true, will retrieve the crldps from the issuing Certificate Authority",
            "type": "boolean"
          },
          "aia": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthorityInformationAccess"
              }
            ],
            "description": "Authority Information Access for the issued certificate",
            "nullable": true
          },
          "aiaFromCA": {
            "description": "If true, will retrieve the aia from the issuing Certificate Authority",
            "type": "boolean"
          },
          "policy": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/CertificatePolicy"
                }
              ]
            },
            "nullable": true,
            "description": "Policies for the issued certificate"
          },
          "policyFromCA": {
            "description": "If true, will retrieve the policy from the issuing Certificate Authority",
            "type": "boolean"
          },
          "pathLen": {
            "description": "The pathlen for the issued certificate",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lifetime": {
            "description": "Duration of validity for the issued certificate",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "backdate": {
            "description": "Backdate to apply to set the start period value of the issued certificate",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "checkPoP": {
            "description": "If true, check that the CSR signature matches the CSR Public Key",
            "type": "boolean",
            "nullable": true
          },
          "qcStatement": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/QCStatement"
              }
            ]
          },
          "qcStatementFromCA": {
            "description": "If true, will retrieve the qcStatement from the issuing Certificate Authority",
            "type": "boolean"
          },
          "privateKeyUsagePeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateKeyUsagePeriod"
              }
            ]
          },
          "subject": {
            "description": "Configuration of the allowed subject elements. If `null`, all subject elements are allowed, otherwise at lease one element must be configured",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/DNElement"
                }
              ]
            }
          },
          "sans": {
            "description": "Configuration of the allowed SAN elements. If `null`, all SAN elements are allowed. If the array is empty, no SAN elements are allowed, otherwise the configured elements are allowed.",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SANElement"
                }
              ]
            }
          },
          "extensions": {
            "description": "Configuration of the allowed extension elements. If `null`, all extension elements are allowed. If the array is empty, no extension elements are allowed, otherwise the configured elements are allowed.",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ExtensionElement"
                }
              ]
            }
          },
          "enabled": {
            "description": "If true, this template can be used for certificate enrollment",
            "type": "boolean"
          },
          "extraCsrExtensions": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "OID"
            },
            "nullable": true,
            "description": "List of OIDs to copy as is from the CSR into the certificate. Introduced in 2.0.10"
          },
          "removeBasicConstraints": {
            "type": "boolean",
            "description": "If `true`, do not set the BasicConstraints field",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "crldpsFromCA",
          "aiaFromCA",
          "policyFromCA",
          "qcStatementFromCA",
          "enabled"
        ]
      },
      "CertificateTemplate001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "CERTIFICATE-TEMPLATE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "CERTIFICATE-TEMPLATE-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateTemplate": {
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the certificate template",
            "example": "Server"
          },
          "ku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyUsage"
              }
            ],
            "description": "Key usages for the issued certificate",
            "nullable": true
          },
          "eku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExtendedKeyUsage"
              }
            ],
            "description": "Extended key usages for the issued certificate",
            "nullable": true
          },
          "emptyExtensions": {
            "description": "Additional extensions for the issued certificate (key values only)",
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string",
              "enum": [
                "no_revocation_check"
              ]
            }
          },
          "crldps": {
            "description": "CRL Distribution Points for the issued certificate",
            "type": "array",
            "example": [
              "http://evertrust.fr/IssuingCA"
            ],
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "crldpsFromCA": {
            "description": "If true, will retrieve the crldps from the issuing Certificate Authority",
            "type": "boolean"
          },
          "aia": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthorityInformationAccess"
              }
            ],
            "description": "Authority Information Access for the issued certificate",
            "nullable": true
          },
          "aiaFromCA": {
            "description": "If true, will retrieve the aia from the issuing Certificate Authority",
            "type": "boolean"
          },
          "policy": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/CertificatePolicy"
                }
              ]
            },
            "nullable": true,
            "description": "Policies for the issued certificate"
          },
          "policyFromCA": {
            "description": "If true, will retrieve the policy from the issuing Certificate Authority",
            "type": "boolean"
          },
          "pathLen": {
            "description": "The pathlen for the issued certificate",
            "example": 1,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "lifetime": {
            "description": "Duration of validity for the issued certificate",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "backdate": {
            "description": "Backdate to apply to set the start period value of the issued certificate",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "checkPoP": {
            "description": "If true, check that the CSR signature matches the CSR Public Key",
            "type": "boolean",
            "nullable": true
          },
          "qcStatement": {
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/QCStatement"
              }
            ]
          },
          "qcStatementFromCA": {
            "description": "If true, will retrieve the qcStatement from the issuing Certificate Authority",
            "type": "boolean"
          },
          "privateKeyUsagePeriod": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PrivateKeyUsagePeriod"
              }
            ]
          },
          "subject": {
            "description": "Configuration of the allowed subject elements. If `null`, all subject elements are allowed, otherwise at lease one element must be configured",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/DNElement"
                }
              ]
            }
          },
          "sans": {
            "description": "Configuration of the allowed SAN elements. If `null`, all SAN elements are allowed. If the array is empty, no SAN elements are allowed, otherwise the configured elements are allowed.",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SANElement"
                }
              ]
            }
          },
          "extensions": {
            "description": "Configuration of the allowed extension elements. If `null`, all extension elements are allowed. If the array is empty, no extension elements are allowed, otherwise the configured elements are allowed.",
            "type": "array",
            "nullable": true,
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/ExtensionElement"
                }
              ]
            }
          },
          "enabled": {
            "description": "If true, this template can be used for certificate enrollment",
            "type": "boolean"
          },
          "extraCsrExtensions": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "OID"
            },
            "nullable": true,
            "description": "List of OIDs to copy as is from the CSR into the certificate. Introduced in 2.0.10"
          },
          "removeBasicConstraints": {
            "type": "boolean",
            "description": "If `true`, do not set the BasicConstraints field",
            "nullable": true
          }
        },
        "required": [
          "name",
          "crldpsFromCA",
          "aiaFromCA",
          "policyFromCA",
          "qcStatementFromCA",
          "enabled"
        ]
      },
      "CertificateTemplate002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate template",
        "properties": {
          "error": {
            "enum": [
              "CERTIFICATE-TEMPLATE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate template"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate template"
            ]
          }
        },
        "title": "CERTIFICATE-TEMPLATE-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateTemplate003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate template not found or disabled",
        "properties": {
          "error": {
            "enum": [
              "CERTIFICATE-TEMPLATE-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate template not found or disabled"
            ]
          },
          "title": {
            "enum": [
              "Certificate template not found or disabled"
            ]
          }
        },
        "title": "CERTIFICATE-TEMPLATE-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateTemplate004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate template already exists",
        "properties": {
          "error": {
            "enum": [
              "CERTIFICATE-TEMPLATE-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate template already exists"
            ]
          },
          "title": {
            "enum": [
              "Certificate template already exists"
            ]
          }
        },
        "title": "CERTIFICATE-TEMPLATE-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CFCertificationRequest": {
        "type": "object",
        "properties": {
          "dn": {
            "type": "string"
          },
          "sans": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SubjectAlternateName"
            }
          },
          "dnElements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CFDistinguishedName"
            }
          },
          "keyType": {
            "type": "string"
          },
          "pem": {
            "type": "string"
          }
        },
        "required": [
          "dn",
          "dnElements",
          "keyType",
          "pem"
        ]
      },
      "Rfc5280003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid PKCS#10",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid PKCS#10"
            ]
          },
          "title": {
            "enum": [
              "Invalid PKCS#10"
            ]
          }
        },
        "title": "RFC5280-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Pkcs12ContentResponse": {
        "properties": {
          "certificate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CFCertificate"
              }
            ]
          },
          "privateKey": {
            "type": "string",
            "format": "PKCS#8 PEM encoded"
          }
        },
        "required": [
          "certificate",
          "privateKey"
        ]
      },
      "Rfc5280004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid CRL",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid CRL"
            ]
          },
          "title": {
            "enum": [
              "Invalid CRL"
            ]
          }
        },
        "title": "RFC5280-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Rfc5280002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid X509 Certificate",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid X509 Certificate"
            ]
          },
          "title": {
            "enum": [
              "Invalid X509 Certificate"
            ]
          }
        },
        "title": "RFC5280-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Rfc5280001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "RFC5280-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "RFC5280-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CFSSHPublicKey": {
        "title": "CFSSHPublicKey",
        "type": "object",
        "description": "An OpenSSH public key",
        "properties": {
          "keyType": {
            "type": "string",
            "description": "The key type of the public key",
            "allOf": [
              {
                "$ref": "#/components/schemas/SSHKeyTypes"
              }
            ]
          },
          "keyHash": {
            "type": "string",
            "description": "The key hashed sha256 base64 encoded"
          },
          "thumbprint": {
            "type": "string",
            "description": "The key hashed sha256 hexbinary printed"
          },
          "public": {
            "type": "string",
            "description": "Compute the keytype and the public key using the following format: <keyType> <Publickey base64 encoded> <suffix>\n"
          }
        }
      },
      "OpenSSH001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid OpenSSH public key",
        "properties": {
          "error": {
            "enum": [
              "OPENSSH-001"
            ]
          },
          "message": {
            "enum": [
              "Invalid OpenSSH Public Key"
            ]
          },
          "title": {
            "enum": [
              "Invalid OpenSSH Public Key"
            ]
          }
        },
        "title": "OPENSSH-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "BasicCertificate": {
        "properties": {
          "id": {
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "ca": {
            "description": "Name of the Certificate Authority the certificate is enrolled on",
            "type": "string",
            "example": "IssuingCA"
          },
          "template": {
            "type": "string",
            "description": "Name of the Template the certificate is enrolled on",
            "nullable": true,
            "example": "ClientServer"
          },
          "certificate": {
            "type": "string",
            "format": "X509 PEM encoded certificate",
            "description": "The PEM of the certificate",
            "example": "-----BEGIN CERTIFICATE----- ..."
          },
          "dn": {
            "type": "string",
            "description": "The Distinguished Name of the certificate",
            "example": "CN=Common Name One,OU=Some Ou"
          },
          "serial": {
            "description": "The serial number of the certificate",
            "type": "string",
            "example": "596f75466f756e644d650d0a"
          },
          "issuer": {
            "description": "The Distinguished Name of the issuer of the certificate",
            "type": "string",
            "example": "CN=IssuingCA,O=EVERTRUST"
          },
          "notBefore": {
            "description": "The start of the validity period of the certificate",
            "type": "string",
            "format": "date-time"
          },
          "notAfter": {
            "description": "The end of the validity period of the certificate",
            "type": "string",
            "format": "date-time"
          },
          "publicKeyThumbprint": {
            "type": "string",
            "description": "The thumbprint of the public key of the certificate",
            "example": "506f75724e6f73416d69734672616e63616973"
          },
          "revoked": {
            "description": "If true, the certificate is revoked",
            "example": false,
            "type": "boolean"
          },
          "revocationDate": {
            "type": "string",
            "description": "The revocation date of the certificate",
            "format": "date-time",
            "nullable": true
          },
          "revocationReason": {
            "type": "string",
            "description": "The revocation reason of the certificate",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReason"
              }
            ]
          }
        }
      },
      "Certificate": {
        "title": "Certificate",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicCertificate"
          }
        ],
        "required": [
          "id",
          "ca",
          "certificate",
          "dn",
          "serial",
          "issuer",
          "notBefore",
          "notAfter",
          "publicKeyThumbprint",
          "revoked"
        ]
      },
      "CertificatePermissions": {
        "title": "Permissions",
        "properties": {
          "revoke": {
            "description": "Is the user allowed to revoke the certificate or not",
            "type": "boolean"
          }
        },
        "required": [
          "revoke"
        ]
      },
      "CertificateWithPermissions": {
        "properties": {
          "certificate": {
            "$ref": "#/components/schemas/Certificate"
          },
          "permissions": {
            "$ref": "#/components/schemas/CertificatePermissions"
          }
        },
        "required": [
          "certificate",
          "permissions"
        ]
      },
      "Cert004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate not found",
        "properties": {
          "error": {
            "enum": [
              "CERT-004"
            ]
          },
          "message": {
            "enum": [
              "Certificate not found"
            ]
          },
          "title": {
            "enum": [
              "Certificate not found"
            ]
          }
        },
        "title": "CERT-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Cert001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "CERT-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "CERT-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateSearchQuery": {
        "properties": {
          "query": {
            "example": "status is valid",
            "description": "A SCQL query to filter the certificates",
            "type": "string",
            "nullable": true
          },
          "fields": {
            "description": "The fields that must be present in the response",
            "example": [
              "id",
              "dn"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "sortedBy": {
            "type": "array",
            "description": "How to sort the results",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SortElement"
            }
          },
          "pageIndex": {
            "type": "integer",
            "description": "Request the page at defined index",
            "example": 1,
            "format": "int32",
            "nullable": true
          },
          "pageSize": {
            "example": 25,
            "description": "The number of results per request",
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "type": "boolean",
            "nullable": true,
            "description": "Add the number of results to the search results",
            "example": true
          }
        }
      },
      "CertificateSearchResult": {
        "title": "Certificate Search Result",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicCertificate"
          }
        ],
        "properties": {
          "permissions": {
            "description": "The user's permissions on this certificate",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificatePermissions"
              }
            ]
          }
        }
      },
      "CertificateSearchResults": {
        "properties": {
          "results": {
            "description": "The list of certificates",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CertificateSearchResult"
            }
          },
          "pageIndex": {
            "description": "The current page index",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "pageSize": {
            "description": "The current page size",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "count": {
            "description": "The total number of results. Only available if `withCount` was requested",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 467
          },
          "hasMore": {
            "description": "`true` while the page is not the last, else `false`",
            "type": "boolean"
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "Cert002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid search query",
        "properties": {
          "error": {
            "enum": [
              "CERT-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid search query"
            ]
          },
          "title": {
            "enum": [
              "Invalid search query"
            ]
          }
        },
        "title": "CERT-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateAggregateQuery": {
        "properties": {
          "query": {
            "description": "The SCQL query to use for the search, represents the way to filter certificates. If not specified, it will filter nothing",
            "example": "status is valid",
            "type": "string",
            "nullable": true
          },
          "groupBy": {
            "description": "The field that the aggregation will take place on",
            "example": [
              "keyType"
            ],
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            }
          },
          "withCount": {
            "description": "If set to `true`, the total count of certificates matching the SCQL query will be returned",
            "type": "boolean",
            "nullable": true
          },
          "sortOrder": {
            "type": "string",
            "nullable": true,
            "enum": [
              "Asc",
              "Desc",
              "KeyAsc",
              "KeyDesc"
            ]
          },
          "limit": {
            "description": "In case of an aggregate sending a lot of different results, how many must be sent back",
            "example": 3,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "having": {
            "description": "A condition to apply to the result. Only the aggregates results with more than 5 certificates in them can be kept for example",
            "nullable": true,
            "allOf": [
              {
                "$ref": "#/components/schemas/Having"
              }
            ]
          }
        }
      },
      "CertificateAggregateResult": {
        "title": "Aggregate Result",
        "properties": {
          "items": {
            "description": "All the groups in this aggregate",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "object",
                  "description": "The object containing this group's information",
                  "properties": {
                    "groupedByField": {
                      "type": "string",
                      "example": "rsa-2048",
                      "description": "This field has the requested aggregate field as key, and the value for this group as value"
                    }
                  }
                },
                "count": {
                  "description": "The number of certificates in this group",
                  "type": "integer",
                  "example": 6
                }
              }
            }
          },
          "count": {
            "description": "The total number of certificates matching the query",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 6
          }
        },
        "required": [
          "items"
        ]
      },
      "Cert003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid aggregate query",
        "properties": {
          "error": {
            "enum": [
              "CERT-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid aggregate query"
            ]
          },
          "title": {
            "enum": [
              "Invalid aggregate query"
            ]
          }
        },
        "title": "CERT-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EventDetail": {
        "title": "Event Detail",
        "properties": {
          "key": {
            "description": "The name of the event detail",
            "example": "ca",
            "type": "string",
            "enum": [
              "apiError",
              "accountId",
              "streamVersion",
              "message",
              "event",
              "httpVerb",
              "ip",
              "httpPath",
              "stacktrace",
              "traceId",
              "entityType",
              "entityName",
              "ca",
              "caDn",
              "caQueue",
              "caHashAlgorithm",
              "caType",
              "crlNumber",
              "crlThisUpdate",
              "crlNextUpdate",
              "crlEidas",
              "crlValidity",
              "crlLazy",
              "crlSize",
              "externalCrlStorageName",
              "externalCrlStorageType",
              "certificateId",
              "certificateDn",
              "certificateSerial",
              "certificatePem",
              "certificateCmc",
              "certificateRequest",
              "certificateTemplate",
              "enrollmentRequestDn",
              "enrollmentRequestSans",
              "enrollmentRequestExtensions",
              "revocationDate",
              "revocationReason",
              "template",
              "keyParameter",
              "keyType",
              "keySize",
              "privateKey",
              "usePSS",
              "keystore",
              "keystoreType",
              "proxy",
              "licenseExpiration"
            ]
          },
          "value": {
            "description": "The value of the event detail",
            "example": "RootCA",
            "type": "string"
          }
        },
        "required": [
          "key",
          "value"
        ]
      },
      "EventResponse": {
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "code": {
            "description": "The event code",
            "type": "string",
            "enum": [
              "CA-CRL-GEN",
              "SEC-ROLE-ADD",
              "CA-REVOKE",
              "LIFECYCLE-ENROLL",
              "CA-CSR",
              "CRL-UPLOAD",
              "CONF-ADD",
              "SEC-ACCOUNT-ADD",
              "CONF-UPDATE",
              "SERVICE-STOP",
              "CRL-GEN",
              "LICENSE-INVALID",
              "SEC-CREDENTIAL-ADD",
              "CA-CRL-UPLOAD",
              "CONF-DELETE",
              "SEC-ACCOUNT-UPDATE",
              "LICENSE-EXPIRED",
              "CA-MIGRATE",
              "SEC-CREDENTIAL-DELETE",
              "SEC-CREDENTIAL-UPDATE",
              "SEC-ACCOUNT-DELETE",
              "BOOTSTRAP-ADMINISTRATOR",
              "SEC-AUTHENTICATION",
              "CA-ISSUE",
              "SERVICE-START",
              "SEC-ROLE-UPDATE",
              "LIFECYCLE-REVOKE",
              "CRL-EXTERNAL-STORAGE",
              "CRL-GET",
              "SEC-ROLE-DELETE"
            ]
          },
          "details": {
            "description": "Details about the event, in key:value form",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/EventDetail"
            }
          },
          "module": {
            "description": "The module on which the event took place",
            "type": "string",
            "enum": [
              "actor",
              "ca",
              "service",
              "license",
              "configuration",
              "bootstrap",
              "lifecycle",
              "security",
              "event",
              "crl"
            ]
          },
          "node": {
            "example": "stream1",
            "description": "Hostname of the node on which the event took place",
            "type": "string"
          },
          "timestamp": {
            "description": "Time of the event",
            "type": "string",
            "format": "date-time"
          },
          "removeAt": {
            "description": "The event will be deleted from the database at that time",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "seal": {
            "example": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI2NGU4OTEzMzV...",
            "description": "The event, hashed and signed with a secret, ensuring events cannot be forged. This does not exist if chainsign has been disabled",
            "type": "string",
            "nullable": true
          },
          "status": {
            "description": "The status of the event. `success` means the action was performed without error. `warning` means the action did not fail but is not expected. `failure` means the action failed.",
            "type": "string",
            "enum": [
              "warning",
              "failure",
              "success"
            ]
          }
        },
        "required": [
          "code",
          "module",
          "node",
          "timestamp",
          "status"
        ]
      },
      "Evt003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Event not found",
        "properties": {
          "error": {
            "enum": [
              "EVT-003"
            ]
          },
          "message": {
            "enum": [
              "Event not found"
            ]
          },
          "title": {
            "enum": [
              "Event not found"
            ]
          }
        },
        "title": "EVT-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Evt001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "EVT-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "EVT-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EventSearchDictionary": {
        "title": "Event Search Dictionary",
        "description": "Search dictionary for events",
        "properties": {
          "modules": {
            "description": "The Stream modules that events can be searched on",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "actor",
                "ca",
                "service",
                "license",
                "configuration",
                "bootstrap",
                "lifecycle",
                "security",
                "event",
                "crl"
              ]
            }
          },
          "codes": {
            "description": "Available event codes to search on",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "CA-CRL-GEN",
                "SEC-ROLE-ADD",
                "CA-REVOKE",
                "LIFECYCLE-ENROLL",
                "CA-CSR",
                "CRL-UPLOAD",
                "CONF-ADD",
                "SEC-ACCOUNT-ADD",
                "CONF-UPDATE",
                "SERVICE-STOP",
                "CRL-GEN",
                "LICENSE-INVALID",
                "SEC-CREDENTIAL-ADD",
                "CA-CRL-UPLOAD",
                "CONF-DELETE",
                "SEC-ACCOUNT-UPDATE",
                "LICENSE-EXPIRED",
                "CA-MIGRATE",
                "SEC-CREDENTIAL-DELETE",
                "SEC-CREDENTIAL-UPDATE",
                "SEC-ACCOUNT-DELETE",
                "BOOTSTRAP-ADMINISTRATOR",
                "SEC-AUTHENTICATION",
                "CA-ISSUE",
                "SERVICE-START",
                "SEC-ROLE-UPDATE",
                "LIFECYCLE-REVOKE",
                "CRL-EXTERNAL-STORAGE",
                "CRL-GET",
                "SEC-ROLE-DELETE"
              ]
            }
          },
          "details": {
            "description": "Available event details to search on",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "apiError",
                "accountId",
                "streamVersion",
                "message",
                "event",
                "httpVerb",
                "ip",
                "httpPath",
                "stacktrace",
                "traceId",
                "entityType",
                "entityName",
                "ca",
                "caDn",
                "caQueue",
                "caHashAlgorithm",
                "caType",
                "crlNumber",
                "crlThisUpdate",
                "crlNextUpdate",
                "crlEidas",
                "crlValidity",
                "crlLazy",
                "crlSize",
                "externalCrlStorageName",
                "externalCrlStorageType",
                "certificateId",
                "certificateDn",
                "certificateSerial",
                "certificatePem",
                "certificateCmc",
                "certificateRequest",
                "certificateTemplate",
                "enrollmentRequestDn",
                "enrollmentRequestSans",
                "enrollmentRequestExtensions",
                "revocationDate",
                "revocationReason",
                "template",
                "keyParameter",
                "keyType",
                "keySize",
                "privateKey",
                "usePSS",
                "keystore",
                "keystoreType",
                "proxy",
                "licenseExpiration"
              ]
            }
          }
        },
        "required": [
          "modules",
          "codes",
          "details"
        ]
      },
      "EventSearchQuery": {
        "properties": {
          "query": {
            "description": "The query to filter the events (SEQL)",
            "example": "details.apiError exists",
            "type": "string",
            "nullable": true
          },
          "sortedBy": {
            "description": "The result sorting",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SortElement"
            }
          },
          "pageIndex": {
            "description": "Request the page at defined index",
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "pageSize": {
            "description": "The number of results per request",
            "type": "integer",
            "example": 25,
            "format": "int32",
            "nullable": true
          },
          "withCount": {
            "description": "Add the number of results to the search results",
            "example": true,
            "type": "boolean",
            "nullable": true
          }
        }
      },
      "Event": {
        "properties": {
          "removeAt": {
            "description": "The event will be deleted from the database at that time",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "status": {
            "description": "The status of the event. `success` means the action was performed without error. `warning` means the action did not fail but is not expected. `failure` means the action failed.",
            "type": "string",
            "enum": [
              "warning",
              "failure",
              "success"
            ]
          }
        },
        "required": [
          "status"
        ]
      },
      "EventSearchResults": {
        "properties": {
          "results": {
            "description": "The list of events",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Event"
            }
          },
          "pageIndex": {
            "description": "The current page index",
            "type": "integer",
            "format": "int32",
            "example": 1
          },
          "pageSize": {
            "description": "The current page size",
            "type": "integer",
            "format": "int32",
            "example": 25
          },
          "count": {
            "description": "The total number of results. Only available if `withCount` was requested",
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "example": 467
          },
          "hasMore": {
            "description": "`true` while the page is not the last, else `false`",
            "type": "boolean"
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "Evt002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Event Search Query",
        "properties": {
          "error": {
            "enum": [
              "EVT-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Event Search Query"
            ]
          },
          "title": {
            "enum": [
              "Invalid Event Search Query"
            ]
          }
        },
        "title": "EVT-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EventIntegrityReportResponse": {
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "status": {
            "description": "The report status. `running` means the scan is currently in progress. `verified` means the scan checked the events and found no log tampering. `unexpectedFailure` means an unexpected error happened either while checking the events tampering or the event integrity reports tampering. `eventIntegrityFailure` means the event logs were tampered with. `reportIntegrityFailure` means the event integrity reports were tampered with. If the status is a failure, the error field contains details about the failure.",
            "type": "string",
            "example": "eventIntegrityFailure",
            "enum": [
              "running",
              "verified",
              "unexpectedFailure",
              "eventIntegrityFailure",
              "reportIntegrityFailure"
            ]
          },
          "start": {
            "description": "The start time of the events scan",
            "type": "string",
            "format": "date-time"
          },
          "end": {
            "description": "The end time of the events scan",
            "type": "string",
            "format": "date-time",
            "nullable": true
          },
          "from": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "description": "The Id of the first event that was verified"
          },
          "to": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ],
            "description": "The Id of the last event that was verified"
          },
          "error": {
            "type": "string",
            "example": "Events were tampered with: On Event: ...",
            "nullable": true,
            "description": "In case of failure, a detailed message about the failure"
          },
          "events": {
            "example": 1095652431,
            "type": "integer",
            "nullable": true,
            "description": "The total number of events checked by this report"
          },
          "seal": {
            "example": "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI2NGU4OTEzMzV...",
            "description": "The event integrity report, hashed and signed with a secret, ensuring event reports cannot be forged",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "status",
          "id",
          "start"
        ]
      },
      "EvtIntegrity002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Event configuration",
        "properties": {
          "error": {
            "enum": [
              "EVT-INTEGRITY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Event configuration"
            ]
          },
          "title": {
            "enum": [
              "Invalid Event configuration"
            ]
          }
        },
        "title": "EVT-INTEGRITY-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EvtIntegrity001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected Error",
        "properties": {
          "error": {
            "enum": [
              "EVT-INTEGRITY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected Error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected Error"
            ]
          }
        },
        "title": "EVT-INTEGRITY-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EvtIntegrity003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Event id",
        "properties": {
          "error": {
            "enum": [
              "EVT-INTEGRITY-003"
            ]
          },
          "message": {
            "enum": [
              "Invalid Event id"
            ]
          },
          "title": {
            "enum": [
              "Invalid Event id"
            ]
          }
        },
        "title": "EVT-INTEGRITY-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lifecycle001": {
        "title": "LIFECYCLE-X509-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EnrollmentRequestTemplate": {
        "title": "EnrollmentRequestTemplate",
        "description": "The template of the certificate. Requested extensions can be modified if this was allowed in template configuration.",
        "properties": {
          "name": {
            "type": "string",
            "example": "ClientServer",
            "description": "Name of the template to enroll on"
          },
          "ku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeyUsage"
              }
            ],
            "nullable": true
          },
          "eku": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ExtendedKeyUsage"
              }
            ],
            "nullable": true
          },
          "emptyExtensions": {
            "type": "array",
            "description": "Extensions that have no value to add to the certificate",
            "nullable": true,
            "items": {
              "type": "string",
              "enum": [
                "no_revocation_check"
              ]
            }
          },
          "crldps": {
            "type": "array",
            "nullable": true,
            "description": "List of CRL Distribution Points URI to add to the certificate",
            "items": {
              "type": "string",
              "example": "http://crl.evertrust.fr/IssuingCA"
            }
          },
          "aia": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AuthorityInformationAccess"
              }
            ],
            "nullable": true
          },
          "policy": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CertificatePolicy"
              }
            ],
            "nullable": true
          },
          "pathLen": {
            "type": "integer",
            "example": 2,
            "description": "Length of the path to the root Certificate Authority to add to the certificate",
            "format": "int32",
            "nullable": true
          },
          "lifetime": {
            "nullable": true,
            "type": "string",
            "description": "Lifetime of the certificate to enroll",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "365 days"
          },
          "backdate": {
            "nullable": true,
            "type": "string",
            "description": "Time to substract to current time to set the notBefore of the certificate to enroll",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "checkPoP": {
            "description": "If true, check that the CSR signature matches the CSR Public Key",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "name"
        ]
      },
      "DataFrom": {
        "type": "string",
        "enum": [
          "api",
          "csr",
          "apicsr"
        ]
      },
      "IndexedDNElement": {
        "title": "Indexed Distinguished Name Element",
        "description": "An element of the distinguished name",
        "properties": {
          "element": {
            "description": "The type and index of the element",
            "example": "cn.1",
            "type": "string"
          },
          "value": {
            "description": "The value of the element. Not setting this value means the value should not exist in the certificate",
            "example": "Common Name One",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "element"
        ]
      },
      "CertificateSan": {
        "title": "Certificate SAN Element",
        "description": "A subject alternate name to add to the certificate",
        "properties": {
          "element": {
            "type": "string",
            "example": "dnsname",
            "description": "The type of the Subject Alternate Name",
            "enum": [
              "ipaddress",
              "uri",
              "othername_upn",
              "dnsname",
              "othername_guid",
              "rfc822name",
              "registered_id"
            ]
          },
          "values": {
            "type": "array",
            "example": [
              "evertrust.fr",
              "docs.evertrust.fr"
            ],
            "description": "List of values of the Subject Alternate Name. An empty list means the SAN should not be in the certificate",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "element",
          "values"
        ]
      },
      "CertificateExtension": {
        "title": "Certificate Extension Element",
        "description": "An extension to add to the certificate",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the extension",
            "enum": [
              "ms_sid",
              "ms_template"
            ]
          },
          "value": {
            "type": "string",
            "description": "The value of the extension. Not setting this value means the extension should not be in the certificate",
            "nullable": true,
            "example": "S-1-0-00-414499496-5692008546-4333839794-324818"
          }
        },
        "required": [
          "type"
        ]
      },
      "EnrollmentRequest": {
        "properties": {
          "ca": {
            "description": "The Certificate Authority name on which to enroll the certificate",
            "type": "string",
            "example": "IssuingCA"
          },
          "csr": {
            "description": "The PEM-encoded CSR of the certificate to enroll",
            "type": "string",
            "format": "PKCS#10 PEM encoded",
            "example": "-----BEGIN CSR----- ..."
          },
          "template": {
            "$ref": "#/components/schemas/EnrollmentRequestTemplate"
          },
          "dataFrom": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DataFrom"
              }
            ],
            "nullable": true,
            "default": "api",
            "description": "This defines which information source the certificate should use: `api` uses information from the json request body alone : `dn`, `dnElements`, `sans` and `extensions`, `csr` uses information from the `csr` only, `apicsr` uses information from the json request body and fallbacks on the csr if the information is not explicitly defined"
          },
          "dn": {
            "type": "string",
            "nullable": true,
            "description": "The certificate's Distinguished Name in standard form. This has precedence over building the DN using `dnElements`",
            "example": "CN=Common Name One,OU=Some Ou"
          },
          "dnElements": {
            "description": "Elements to build the certificate's distinguished name. This can be overriden in the same request by the `dn` property",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/IndexedDNElement"
            }
          },
          "sans": {
            "description": "Elements to build the certificate's Subject Alternate Names",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CertificateSan"
            }
          },
          "extensions": {
            "description": "Elements to build the certificate's Extensions",
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/CertificateExtension"
            }
          },
          "includeCMC": {
            "type": "boolean",
            "description": "If `true`, Stream will include a signed CMC containing the certificate in the response. Available from `2.1.10`",
            "default": false
          }
        },
        "required": [
          "ca",
          "csr",
          "template"
        ]
      },
      "Lifecycle004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate enrollment request",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-004"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate enrollment request"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate enrollment request"
            ]
          }
        },
        "title": "LIFECYCLE-X509-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lifecycle002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority enrollment is disabled",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-002"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority enrollment is disabled"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority enrollment is disabled"
            ]
          }
        },
        "title": "LIFECYCLE-X509-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lifecycle003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate Authority is not ready",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-003"
            ]
          },
          "message": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          },
          "title": {
            "enum": [
              "Certificate Authority is not ready"
            ]
          }
        },
        "title": "LIFECYCLE-X509-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Lifecycle005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Certificate enrollment error",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-005"
            ]
          },
          "message": {
            "enum": [
              "Certificate enrollment error"
            ]
          },
          "title": {
            "enum": [
              "Certificate enrollment error"
            ]
          }
        },
        "title": "LIFECYCLE-X509-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "RevocationRequestWithCert": {
        "title": "Revocation Using PEM",
        "properties": {
          "certificate": {
            "description": "The PEM of the certificate to revoke",
            "type": "string",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "format": "X509 PEM encoded certificate"
          },
          "reason": {
            "nullable": true,
            "default": "UNSPECIFIED",
            "description": "The revocation reason to revoke the certificate with",
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReason"
              }
            ]
          }
        },
        "required": [
          "certificate"
        ]
      },
      "RevocationRequestWithSerial": {
        "title": "Revocation Using Serial and CA",
        "properties": {
          "serial": {
            "type": "string",
            "description": "The serial of the certificate to revoke",
            "example": "68747470733a2f2f7777772e796f75747562652e636f6d2f77617463683f763d6451773477395767586351"
          },
          "ca": {
            "description": "The name of the Issuing Certificate Authority of the certificate to revoke",
            "type": "string",
            "example": "IssuingCA"
          },
          "reason": {
            "nullable": true,
            "description": "The revocation reason to revoke the certificate with",
            "default": "UNSPECIFIED",
            "allOf": [
              {
                "$ref": "#/components/schemas/RevocationReason"
              }
            ]
          }
        },
        "required": [
          "serial",
          "ca"
        ]
      },
      "Lifecycle006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid certificate revocation request",
        "properties": {
          "error": {
            "enum": [
              "LIFECYCLE-X509-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid certificate revocation request"
            ]
          },
          "title": {
            "enum": [
              "Invalid certificate revocation request"
            ]
          }
        },
        "title": "LIFECYCLE-X509-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Ca017": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Managed Root Certificate Authority cannot be revoked",
        "properties": {
          "error": {
            "enum": [
              "CA-017"
            ]
          },
          "message": {
            "enum": [
              "Managed Root Certificate Authority cannot be revoked"
            ]
          },
          "title": {
            "enum": [
              "Managed Root Certificate Authority cannot be revoked"
            ]
          }
        },
        "title": "CA-017",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalIdentityResponse": {
        "properties": {
          "id": {
            "description": "Internal ID",
            "example": "6424527e4701004c010b1509",
            "type": "string"
          },
          "identifier": {
            "description": "The identifier of the local identity (used by the identity to log in to the web UI)",
            "example": "administrator",
            "type": "string"
          },
          "name": {
            "description": "The display name of the local identity",
            "example": "Stream Administrator",
            "type": "string",
            "nullable": true
          },
          "expires": {
            "description": "An expiration date for the account",
            "nullable": true,
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "id",
          "identifier"
        ]
      },
      "LocalId009": {
        "title": "LOCAL-ID-009",
        "description": "Local Identity provider not found or disabled",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-009"
            ]
          },
          "message": {
            "enum": [
              "Local Identity provider not found or disabled"
            ]
          },
          "title": {
            "enum": [
              "Local Identity provider not found or disabled"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalId001": {
        "title": "LOCAL-ID-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalIdentity": {
        "properties": {
          "identifier": {
            "description": "The identifier of the local identity (used by the identity to log in to the web UI)",
            "example": "administrator",
            "type": "string"
          },
          "name": {
            "description": "The display name of the local identity",
            "example": "Stream Administrator",
            "type": "string",
            "nullable": true
          },
          "expires": {
            "description": "An expiration date for the account",
            "nullable": true,
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "identifier"
        ]
      },
      "LocalId002": {
        "title": "LOCAL-ID-002",
        "description": "Invalid Local Identity",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Local Identity"
            ]
          },
          "title": {
            "enum": [
              "Invalid Local Identity"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalId010": {
        "title": "LOCAL-ID-010",
        "description": "Password does not match the password policy",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-010"
            ]
          },
          "message": {
            "enum": [
              "Password does not match the password policy"
            ]
          },
          "title": {
            "enum": [
              "Password does not match the password policy"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalId003": {
        "title": "LOCAL-ID-003",
        "description": "Local Identity not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-003"
            ]
          },
          "message": {
            "enum": [
              "Local Identity not found"
            ]
          },
          "title": {
            "enum": [
              "Local Identity not found"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalId004": {
        "title": "LOCAL-ID-004",
        "description": "Local Identity already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "LOCAL-ID-004"
            ]
          },
          "message": {
            "enum": [
              "Local Identity already exists"
            ]
          },
          "title": {
            "enum": [
              "Local Identity already exists"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "EnabledIdentityProvider": {
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "Local",
              "OpenId"
            ],
            "description": "The type of the identity provider"
          },
          "name": {
            "type": "string",
            "description": "The internal name of the identity provider",
            "example": "local"
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "SecIdProv001": {
        "title": "SEC-IDPROV-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LocalIdentityProviderResponse": {
        "title": "Local Identity Provider",
        "properties": {
          "id": {
            "description": "The internal ID of the Identity Provider",
            "type": "string",
            "example": "643821173000003d0014cdaf"
          },
          "name": {
            "type": "string",
            "description": "The internal name of the local identity provider",
            "example": "local"
          },
          "type": {
            "type": "string",
            "enum": [
              "Local"
            ],
            "description": "The type of identity provider",
            "example": "Local"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the local identity provider can be used to identify against Stream",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the local identity provider can be selected on login to the Stream UI",
            "example": true
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "enabled",
          "enabledOnUI"
        ]
      },
      "OidcIdentityProviderResponse": {
        "title": "OpenId Identity Provider",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The internal name of the identity provider",
            "example": "Google"
          },
          "type": {
            "type": "string",
            "description": "The type of Identity provider to register",
            "enum": [
              "OpenId"
            ]
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the identity provider can be used to identify against Stream",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the identity provider can be selected on login to the Stream UI",
            "example": true
          },
          "proxy": {
            "type": "string",
            "nullable": true,
            "description": "The name of the proxy to use to reach the identity provider",
            "example": "googleProxy"
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "description": "The timeout value to use when connecting to the identity provider (must be a valid finite duration)",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "providerMetadataUrl": {
            "type": "string",
            "description": "The URL of the identity provider OpenID callback",
            "example": "https://accounts.google.com/.well-known/openid-configuration"
          },
          "credentials": {
            "type": "string",
            "example": "OpenIdCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credential) containing the client ID and secret to use to authenticate Stream against the identity provider"
          },
          "scope": {
            "type": "string",
            "description": "The scope where to retrieve the user data from",
            "example": "openid profile"
          },
          "identifierClaim": {
            "type": "string",
            "description": "Template string defining the OpenID information that will be used as the user's identifier in Stream",
            "example": "{{oid}}",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "nameClaim": {
            "type": "string",
            "description": "Template string defining the OpenID information that will be used as the user's name in Stream",
            "example": "{{name}}",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "enabled",
          "enabledOnUI",
          "providerMetadataUrl",
          "scope",
          "credentials",
          "identifierClaim",
          "nameClaim"
        ]
      },
      "LocalIdentityProvider": {
        "title": "Local Identity Provider",
        "properties": {
          "name": {
            "type": "string",
            "description": "The internal name of the local identity provider",
            "example": "local"
          },
          "type": {
            "type": "string",
            "enum": [
              "Local"
            ],
            "description": "The type of identity provider",
            "example": "Local"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the local identity provider can be used to identify against Stream",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the local identity provider can be selected on login to the Stream UI",
            "example": true
          }
        },
        "required": [
          "name",
          "type",
          "enabled",
          "enabledOnUI"
        ]
      },
      "OidcIdentityProvider": {
        "title": "OpenId Identity Provider",
        "properties": {
          "name": {
            "type": "string",
            "description": "The internal name of the identity provider",
            "example": "Google"
          },
          "type": {
            "type": "string",
            "description": "The type of Identity provider to register",
            "enum": [
              "OpenId"
            ]
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the identity provider can be used to identify against Stream",
            "example": true
          },
          "enabledOnUI": {
            "type": "boolean",
            "description": "Whether the identity provider can be selected on login to the Stream UI",
            "example": true
          },
          "proxy": {
            "type": "string",
            "nullable": true,
            "description": "The name of the proxy to use to reach the identity provider",
            "example": "googleProxy"
          },
          "timeout": {
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "description": "The timeout value to use when connecting to the identity provider (must be a valid finite duration)",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "5 seconds"
          },
          "providerMetadataUrl": {
            "type": "string",
            "description": "The URL of the identity provider OpenID callback",
            "example": "https://accounts.google.com/.well-known/openid-configuration"
          },
          "credentials": {
            "type": "string",
            "example": "OpenIdCredentials",
            "description": "Name of the `password` [credentials](#tag/api.security.credential) containing the client ID and secret to use to authenticate Stream against the identity provider"
          },
          "scope": {
            "type": "string",
            "description": "The scope where to retrieve the user data from",
            "example": "openid profile"
          },
          "identifierClaim": {
            "type": "string",
            "description": "Template string defining the OpenID information that will be used as the user's identifier in Stream",
            "example": "{{oid}}",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          },
          "nameClaim": {
            "type": "string",
            "description": "Template string defining the OpenID information that will be used as the user's name in Stream",
            "example": "{{name}}",
            "externalDocs": {
              "url": "https://docs.evertrust.fr/stream/admin-guide/2.0/template_strings",
              "description": "Template string documentation"
            }
          }
        },
        "required": [
          "type",
          "name",
          "enabled",
          "enabledOnUI",
          "providerMetadataUrl",
          "scope",
          "credentials",
          "identifierClaim",
          "nameClaim"
        ]
      },
      "SecIdProv002": {
        "title": "SEC-IDPROV-002",
        "description": "Invalid Identity Provider",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Identity Provider"
            ]
          },
          "title": {
            "enum": [
              "Invalid Identity Provider"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecIdProv006": {
        "title": "SEC-IDPROV-006",
        "description": "Referenced identity provider",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-006"
            ]
          },
          "message": {
            "enum": [
              "Referenced identity provider"
            ]
          },
          "title": {
            "enum": [
              "Referenced identity provider"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecIdProv003": {
        "title": "SEC-IDPROV-003",
        "description": "Identity Provider not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-003"
            ]
          },
          "message": {
            "enum": [
              "Identity Provider not found"
            ]
          },
          "title": {
            "enum": [
              "Identity Provider not found"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecIdProv004": {
        "title": "SEC-IDPROV-004",
        "description": "Identity Provider already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-004"
            ]
          },
          "message": {
            "enum": [
              "Identity Provider already exists"
            ]
          },
          "title": {
            "enum": [
              "Identity Provider already exists"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "PrincipalInfoSearchRequest": {
        "properties": {
          "identifier": {
            "type": "string",
            "nullable": true,
            "example": "administrator",
            "description": "The identifier of the principal to search for"
          }
        }
      },
      "PrincipalInfoSearchResult": {
        "properties": {
          "identifier": {
            "description": "The identifier of the principal matching the search",
            "type": "string",
            "example": "administrator"
          },
          "providerType": {
            "description": "The type of the identity provider on which this user is registered",
            "type": "string",
            "enum": [
              "Local",
              "OpenId"
            ]
          },
          "providerName": {
            "description": "The name of the identity provider on which this user is registered",
            "type": "string",
            "example": "local"
          }
        },
        "required": [
          "identifier",
          "providerType",
          "providerName"
        ]
      },
      "SecIdProv005": {
        "title": "SEC-IDPROV-005",
        "description": "Invalid principal info search request",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-IDPROV-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid principal info search request"
            ]
          },
          "title": {
            "enum": [
              "Invalid principal info search request"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Permission": {
        "title": "Permission",
        "properties": {
          "value": {
            "example": "configuration:security:*",
            "type": "string",
            "description": "A permission string that give rights on specific operations"
          }
        },
        "required": [
          "value"
        ]
      },
      "PrincipalInfo": {
        "title": "Principal information",
        "properties": {
          "identifier": {
            "type": "string",
            "example": "administrator",
            "description": "The identifier of the principal"
          },
          "permissions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "description": "The permissions of the principal"
          },
          "roles": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The roles of the principal",
            "example": [
              "SuperAdmin",
              "webRA_Approver"
            ]
          }
        },
        "required": [
          "identifier"
        ]
      },
      "PrincipalInfoResponse": {
        "title": "Principal information",
        "properties": {
          "id": {
            "type": "string",
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "identifier": {
            "type": "string",
            "example": "administrator",
            "description": "The identifier of the principal"
          },
          "permissions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "description": "The permissions of the principal"
          },
          "roles": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The roles of the principal",
            "example": [
              "SuperAdmin",
              "webRA_Approver"
            ]
          },
          "creationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The creation date of the principal"
          },
          "lastAuthentication": {
            "type": "string",
            "format": "date-time",
            "description": "The last authentication date of the principal"
          },
          "lastModification": {
            "type": "string",
            "format": "date-time",
            "description": "The last modification date of the principal"
          }
        },
        "required": [
          "id",
          "identifier",
          "creationDate",
          "lastModification"
        ]
      },
      "SecPI002": {
        "title": "SEC-PI-002",
        "description": "Invalid Principal Info",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PI-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Principal Info"
            ]
          },
          "title": {
            "enum": [
              "Invalid Principal Info"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecPI003": {
        "title": "SEC-PI-003",
        "description": "Principal Info not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PI-003"
            ]
          },
          "message": {
            "enum": [
              "Principal Info not found"
            ]
          },
          "title": {
            "enum": [
              "Principal Info not found"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecPI001": {
        "title": "SEC-PI-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PI-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SecPI004": {
        "title": "SEC-PI-004",
        "description": "Principal Info already exists",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PI-004"
            ]
          },
          "message": {
            "enum": [
              "Principal Info already exists"
            ]
          },
          "title": {
            "enum": [
              "Principal Info already exists"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "PrincipalInfoSearchQuery": {
        "properties": {
          "identifier": {
            "type": "string",
            "nullable": true,
            "description": "The identifier of the principal"
          },
          "role": {
            "type": "string",
            "nullable": true,
            "description": "The role of the principal"
          },
          "sortedBy": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/SortElement"
            },
            "description": "How to sort the results of the search"
          },
          "strictSearch": {
            "type": "boolean",
            "nullable": true,
            "description": "By default, search on identifier/roles is based on contain. If enabled, strict equality of the result must be found"
          },
          "pageIndex": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "Which page result to display"
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "How many results to display per page"
          },
          "withCount": {
            "type": "boolean",
            "nullable": true,
            "description": "Whether to include the total number of results in the response"
          }
        }
      },
      "PrincipalInfoSearchResults": {
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PrincipalInfo"
            }
          },
          "pageIndex": {
            "type": "integer",
            "format": "int32",
            "description": "The current page index",
            "example": 1
          },
          "pageSize": {
            "type": "integer",
            "format": "int32",
            "description": "The current number of returned element per page",
            "example": 20
          },
          "count": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The total number of results (if _withCount_ was set to true in the query)",
            "example": 50
          },
          "hasMore": {
            "type": "boolean",
            "description": "Whether there are more results to display (on another page)",
            "example": true
          }
        },
        "required": [
          "results",
          "pageIndex",
          "pageSize",
          "hasMore"
        ]
      },
      "SecPI005": {
        "title": "SEC-PI-005",
        "description": "Invalid Principal Info search query",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SEC-PI-005"
            ]
          },
          "message": {
            "enum": [
              "Invalid Principal Info search query"
            ]
          },
          "title": {
            "enum": [
              "Invalid Principal Info search query"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Identity": {
        "title": "Identity",
        "description": "The principal's identity",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The principal's identifier",
            "example": "administrator"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "The principal's name",
            "example": "Administrator"
          },
          "identityProviderType": {
            "type": "string",
            "nullable": true,
            "enum": [
              "Local",
              "OpenId",
              "X509"
            ],
            "description": "The identity provider's type this principal is registered on",
            "example": "Local"
          },
          "identityProviderName": {
            "type": "string",
            "nullable": true,
            "description": "The identity provider's name this principal is registered on",
            "example": "local"
          },
          "certificate": {
            "nullable": true,
            "type": "string",
            "description": "The principal's certificate (in case of `X509` identity provider)"
          }
        },
        "required": [
          "identifier"
        ]
      },
      "Principal": {
        "title": "Principal",
        "properties": {
          "identity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Identity"
              }
            ]
          },
          "permissions": {
            "type": "array",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "description": "The permissions of the principal"
          },
          "roles": {
            "type": "array",
            "nullable": true,
            "items": {
              "type": "string"
            },
            "description": "The roles of the principal",
            "example": [
              "SuperAdmin",
              "WebRA_Approver"
            ]
          }
        },
        "required": [
          "identity"
        ]
      },
      "RoleResponse": {
        "title": "Role",
        "description": "A role defining permissions",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "name": {
            "description": "The role's name",
            "example": "Administrator",
            "type": "string"
          },
          "description": {
            "type": "string",
            "example": "This role give administrator rights",
            "description": "The role's description",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "description": "The list of permissions associated with the role",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "Role001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "ROLE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "ROLE-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Role": {
        "title": "Role",
        "description": "A role defining permissions",
        "properties": {
          "name": {
            "description": "The role's name",
            "example": "Administrator",
            "type": "string"
          },
          "description": {
            "type": "string",
            "example": "This role give administrator rights",
            "description": "The role's description",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "description": "The list of permissions associated with the role",
            "nullable": true,
            "items": {
              "$ref": "#/components/schemas/Permission"
            }
          }
        },
        "required": [
          "name"
        ]
      },
      "Role002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Role",
        "properties": {
          "error": {
            "enum": [
              "ROLE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid Role"
            ]
          },
          "title": {
            "enum": [
              "Invalid Role"
            ]
          }
        },
        "title": "ROLE-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Role003": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Role not found",
        "properties": {
          "error": {
            "enum": [
              "ROLE-003"
            ]
          },
          "message": {
            "enum": [
              "Role not found"
            ]
          },
          "title": {
            "enum": [
              "Role not found"
            ]
          }
        },
        "title": "ROLE-003",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Role004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Role already exists",
        "properties": {
          "error": {
            "enum": [
              "ROLE-004"
            ]
          },
          "message": {
            "enum": [
              "Role already exists"
            ]
          },
          "title": {
            "enum": [
              "Role already exists"
            ]
          }
        },
        "title": "ROLE-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "KeystoreStatus": {
        "title": "Keystore status",
        "properties": {
          "lastCheck": {
            "type": "string",
            "format": "date-time",
            "description": "When this healthcheck last occurred"
          },
          "status": {
            "description": "Describe the status of the keystore",
            "type": "string",
            "example": "failure",
            "enum": [
              "success",
              "failure",
              "running"
            ]
          },
          "message": {
            "type": "string",
            "example": "Could not join keystore",
            "description": "Error message in case of error"
          }
        },
        "required": [
          "status",
          "lastCheck"
        ]
      },
      "AzureKeystoreResponse": {
        "title": "Azure Keystore",
        "description": "An Azure Key Vault",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "akv"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "Azure-Key-Vault-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AKV",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "tenant": {
            "description": "The Azure Keystore's tenant",
            "example": "evertrust.onmicrosoft.com",
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "AKVCreds",
            "type": "string",
            "nullable": true
          },
          "vaultUrl": {
            "description": "The Keystore's url",
            "example": "https://vault-name.vault.azure.net",
            "type": "string"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystoreStatus"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "vaultUrl",
          "status"
        ]
      },
      "AWSKeystoreResponse": {
        "title": "AWS Keystore",
        "description": "An Amazon Web Services Keystore",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "aws"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "AWS-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AWS",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "endpoint": {
            "description": "The Keystore's endpoint if not the default Amazon endpoint",
            "example": "https://custom-uri.com",
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "AWSCreds",
            "type": "string",
            "nullable": true
          },
          "region": {
            "description": "The Keystore's AWS Region",
            "example": "us-east-1",
            "type": "string",
            "nullable": true
          },
          "roleArn": {
            "description": "The Keystore's Role ARN",
            "example": "arn:aws:iam::123456789012:group/Developers",
            "type": "string",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystoreStatus"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "status"
        ]
      },
      "GCloudKeystoreResponse": {
        "title": "GCP Keystore",
        "description": "A Google Cloud Provider Keystore",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "gcp"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "AWS-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AWS",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "project": {
            "description": "The GCP Project Name",
            "example": "evertrust-keystore",
            "type": "string"
          },
          "location": {
            "description": "The GCP Location to use",
            "example": "global",
            "type": "string"
          },
          "keyRing": {
            "description": "The GCP Key Ring to use",
            "example": "main-key-ring",
            "type": "string"
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "GCPCreds",
            "type": "string",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystoreStatus"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "project",
          "location",
          "keyRing",
          "status"
        ]
      },
      "PKCS11KeystoreResponse": {
        "title": "PKCS11 Keystore",
        "description": "A PKCS11 Keystore",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "pkcs11"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "PKCS11-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in HSM",
            "type": "string",
            "nullable": true
          },
          "library": {
            "description": "The Path to the PKCS11 Library to use for the Keystore",
            "example": "/libs/pkcs11-tools.so",
            "type": "string"
          },
          "slot": {
            "description": "The PKCS11 Keystore's Slot to use",
            "example": 64751,
            "type": "integer",
            "format": "int64"
          },
          "rsaX931Mode": {
            "description": "Use the X931 Mode for RSA Key Generation",
            "type": "boolean"
          },
          "poolSize": {
            "description": "Number of parallel sessions on the PKCS11 Keystore (by Stream node)",
            "example": 3,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userType": {
            "type": "integer",
            "format": "int64",
            "default": 1,
            "example": 1,
            "description": "PKCS#11 user to open the session as"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystoreStatus"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "library",
          "slot",
          "rsaX931Mode",
          "userType",
          "status"
        ]
      },
      "SoftwareKeystoreResponse": {
        "title": "Software Keystore",
        "description": "A Software Keystore",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "software"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "Software-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Test Keystore",
            "type": "string",
            "nullable": true
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/KeystoreStatus"
              }
            ]
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "status"
        ]
      },
      "Keystore001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "KEYSTORE-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "KEYSTORE-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "AzureKeystore": {
        "title": "Azure Keystore",
        "description": "An Azure Key Vault",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "akv"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "Azure-Key-Vault-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AKV",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "tenant": {
            "description": "The Azure Keystore's tenant",
            "example": "evertrust.onmicrosoft.com",
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "AKVCreds",
            "type": "string",
            "nullable": true
          },
          "vaultUrl": {
            "description": "The Keystore's url",
            "example": "https://vault-name.vault.azure.net",
            "type": "string"
          }
        },
        "required": [
          "type",
          "name",
          "vaultUrl"
        ]
      },
      "AWSKeystore": {
        "title": "AWS Keystore",
        "description": "An Amazon Web Services Keystore",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "aws"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "AWS-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AWS",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "endpoint": {
            "description": "The Keystore's endpoint if not the default Amazon endpoint",
            "example": "https://custom-uri.com",
            "type": "string",
            "nullable": true
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "AWSCreds",
            "type": "string",
            "nullable": true
          },
          "region": {
            "description": "The Keystore's AWS Region",
            "example": "us-east-1",
            "type": "string",
            "nullable": true
          },
          "roleArn": {
            "description": "The Keystore's Role ARN",
            "example": "arn:aws:iam::123456789012:group/Developers",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "GCloudKeystore": {
        "title": "GCP Keystore",
        "description": "A Google Cloud Provider Keystore",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "gcp"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "AWS-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in AWS",
            "type": "string",
            "nullable": true
          },
          "proxy": {
            "description": "The proxy to access the Keystore",
            "example": "Internal-Proxy",
            "type": "string",
            "nullable": true
          },
          "timeout": {
            "description": "The timeout to join the Keystore",
            "nullable": true,
            "type": "string",
            "format": "Finite Duration",
            "pattern": "^([0-9]+) *(ms|millisecond|milliseconds|s|second|seconds|m|minute|minutes|h|hour|hours|d|day|days)$",
            "example": "30 seconds"
          },
          "project": {
            "description": "The GCP Project Name",
            "example": "evertrust-keystore",
            "type": "string"
          },
          "location": {
            "description": "The GCP Location to use",
            "example": "global",
            "type": "string"
          },
          "keyRing": {
            "description": "The GCP Key Ring to use",
            "example": "main-key-ring",
            "type": "string"
          },
          "credentials": {
            "description": "The Keystore's credentials",
            "example": "GCPCreds",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "name",
          "project",
          "location",
          "keyRing"
        ]
      },
      "PKCS11Keystore": {
        "title": "PKCS11 Keystore",
        "description": "A PKCS11 Keystore",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "pkcs11"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "PKCS11-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in HSM",
            "type": "string",
            "nullable": true
          },
          "library": {
            "description": "The Path to the PKCS11 Library to use for the Keystore",
            "example": "/libs/pkcs11-tools.so",
            "type": "string"
          },
          "slot": {
            "description": "The PKCS11 Keystore's Slot to use",
            "example": 64751,
            "type": "integer",
            "format": "int64"
          },
          "rsaX931Mode": {
            "description": "Use the X931 Mode for RSA Key Generation",
            "type": "boolean"
          },
          "poolSize": {
            "description": "Number of parallel sessions on the PKCS11 Keystore (by Stream node)",
            "example": 3,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userType": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "default": 1,
            "example": 1,
            "description": "PKCS#11 user to open the session as"
          }
        },
        "required": [
          "type",
          "name",
          "library",
          "slot",
          "rsaX931Mode"
        ]
      },
      "SoftwareKeystore": {
        "title": "Software Keystore",
        "description": "A Software Keystore",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "software"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "Software-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Test Keystore",
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type",
          "name"
        ]
      },
      "Keystore002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid keystore",
        "properties": {
          "error": {
            "enum": [
              "KEYSTORE-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid keystore"
            ]
          },
          "title": {
            "enum": [
              "Invalid keystore"
            ]
          }
        },
        "title": "KEYSTORE-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "PKCS11KeystoreAdd": {
        "title": "PKCS11 Keystore",
        "description": "A PKCS11 Keystore",
        "properties": {
          "type": {
            "description": "The Keystore's type",
            "type": "string",
            "enum": [
              "pkcs11"
            ]
          },
          "name": {
            "description": "The Keystore's name",
            "example": "PKCS11-Keystore-1",
            "type": "string"
          },
          "description": {
            "description": "The Keystore's description",
            "example": "Keys in HSM",
            "type": "string",
            "nullable": true
          },
          "library": {
            "description": "The Path to the PKCS11 Library to use for the Keystore",
            "example": "/libs/pkcs11-tools.so",
            "type": "string"
          },
          "slot": {
            "description": "The PKCS11 Keystore's Slot to use",
            "example": 64751,
            "type": "integer",
            "format": "int64"
          },
          "pin": {
            "title": "Secret String",
            "description": "A string containing a hidden secret",
            "properties": {
              "clear": {
                "description": "The clear value of the secret",
                "type": "string",
                "nullable": true,
                "writeOnly": true,
                "example": "Clear secret"
              }
            },
            "required": [
              "clear"
            ]
          },
          "rsaX931Mode": {
            "description": "Use the X931 Mode for RSA Key Generation",
            "type": "boolean"
          },
          "poolSize": {
            "description": "Number of parallel sessions on the PKCS11 Keystore (by Stream node)",
            "example": 3,
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "userType": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "default": 1,
            "example": 1,
            "description": "PKCS#11 user to open the session as"
          }
        },
        "required": [
          "type",
          "name",
          "library",
          "slot",
          "pin",
          "rsaX931Mode"
        ]
      },
      "Keystore004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Keystore already exists",
        "properties": {
          "error": {
            "enum": [
              "KEYSTORE-004"
            ]
          },
          "message": {
            "enum": [
              "Keystore already exists"
            ]
          },
          "title": {
            "enum": [
              "Keystore already exists"
            ]
          }
        },
        "title": "KEYSTORE-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Keystore005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Keystore is referenced",
        "properties": {
          "error": {
            "enum": [
              "KEYSTORE-005"
            ]
          },
          "message": {
            "enum": [
              "Keystore is referenced"
            ]
          },
          "title": {
            "enum": [
              "Keystore is referenced"
            ]
          }
        },
        "title": "KEYSTORE-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "X509KeyTypes": {
        "title": "Key type",
        "type": "string",
        "description": "The key type",
        "enum": [
          "rsa-2048",
          "rsa-3072",
          "rsa-4096",
          "rsa-8192",
          "ec-secp256r1",
          "ec-secp384r1",
          "ec-secp521r1",
          "ec-brainpoolp256r1",
          "ec-brainpoolp384r1",
          "ec-brainpoolp512r1",
          "ed-25519",
          "ed-448",
          "mldsa-44",
          "mldsa-65",
          "mldsa-87",
          "mldsa-44sha512",
          "mldsa-65sha512",
          "mldsa-87sha512"
        ]
      },
      "PrivateKey": {
        "type": "object",
        "title": "Private Key",
        "description": "Information about a Private Key",
        "properties": {
          "name": {
            "description": "The Private Key's name",
            "example": "Root-CA-Key",
            "type": "string"
          },
          "alias": {
            "nullable": true,
            "description": "The Private Key's alias",
            "example": "Root-CA-Key-Alias",
            "type": "string"
          },
          "keystore": {
            "description": "The Keystore's name on which this Key is stored",
            "example": "GCP-Keystore-1",
            "type": "string"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/X509KeyTypes"
              }
            ]
          },
          "extractable": {
            "description": "If true, this Key can be extracted from the Keystore",
            "type": "boolean"
          },
          "modifiable": {
            "description": "If true, this Key can be extracted from the Keystore",
            "type": "boolean",
            "nullable": true
          },
          "hardwareProtected": {
            "type": "boolean",
            "nullable": true,
            "description": "If the key is protected by hardware"
          },
          "enforcedHashAlgorithm": {
            "nullable": true,
            "description": "This Key's Hash Algorithm",
            "allOf": [
              {
                "$ref": "#/components/schemas/HashAlgorithm"
              }
            ]
          }
        },
        "required": [
          "name",
          "keystore",
          "description",
          "extractable"
        ]
      },
      "Key001": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Unexpected error",
        "properties": {
          "error": {
            "enum": [
              "KEY-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "title": "KEY-001",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "CertificateAuthorityKeysRequest": {
        "title": "Key By Certificate Authority Search Request",
        "description": "A search request to find Keys on a Certificate Authority",
        "properties": {
          "ca": {
            "description": "The PEM Encoded certificate of the Certificate Authority to find the Key for",
            "format": "X509 PEM encoded certificate",
            "example": "-----BEGIN CERTIFICATE----- ...",
            "type": "string"
          },
          "unusedOnly": {
            "description": "If true, list only Keys not used anywhere",
            "type": "boolean"
          }
        },
        "required": [
          "ca"
        ]
      },
      "Key006": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid Find Certificate Authority Keys request",
        "properties": {
          "error": {
            "enum": [
              "KEY-006"
            ]
          },
          "message": {
            "enum": [
              "Invalid Find Certificate Authority Keys request"
            ]
          },
          "title": {
            "enum": [
              "Invalid Find Certificate Authority Keys request"
            ]
          }
        },
        "title": "KEY-006",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "PrivateKeyGenerationRequest": {
        "title": "Private key Generation Request",
        "properties": {
          "name": {
            "description": "The Key's name",
            "type": "string",
            "example": "Root-CA-Key"
          },
          "keystore": {
            "description": "The Keystore in which to generate the Key",
            "example": "GCP-Keystore-1",
            "type": "string"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/X509KeyTypes"
              }
            ]
          },
          "extractable": {
            "description": "If true, this key will be extractable",
            "type": "boolean",
            "nullable": true,
            "default": false
          },
          "modifiable": {
            "description": "If true, this key will be modifiable",
            "type": "boolean",
            "nullable": true,
            "default": false
          },
          "hardwareProtected": {
            "description": "If true, this key will be hardware protected in AKV and GCP",
            "type": "boolean",
            "nullable": true,
            "default": false
          }
        },
        "required": [
          "name",
          "keystore",
          "description"
        ]
      },
      "Key002": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Invalid key generation request",
        "properties": {
          "error": {
            "enum": [
              "KEY-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid key generation request"
            ]
          },
          "title": {
            "enum": [
              "Invalid key generation request"
            ]
          }
        },
        "title": "KEY-002",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Key004": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Key already exists",
        "properties": {
          "error": {
            "enum": [
              "KEY-004"
            ]
          },
          "message": {
            "enum": [
              "Key already exists"
            ]
          },
          "title": {
            "enum": [
              "Key already exists"
            ]
          }
        },
        "title": "KEY-004",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "Key005": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "description": "Key is referenced",
        "properties": {
          "error": {
            "enum": [
              "KEY-005"
            ]
          },
          "message": {
            "enum": [
              "Key is referenced"
            ]
          },
          "title": {
            "enum": [
              "Key is referenced"
            ]
          }
        },
        "title": "KEY-005",
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "TriggersLicenseConfiguration": {
        "type": "object",
        "description": "Triggers to execute on license events",
        "properties": {
          "onLicenseExpiration": {
            "nullable": true,
            "description": "Triggers to execute on license expiration",
            "example": [
              "license-expiration-trigger"
            ],
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "LicenseConfigurationResponse": {
        "title": "License Configuration",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "license"
            ],
            "description": "The type of the configuration entry"
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersLicenseConfiguration"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "type"
        ]
      },
      "InternalMonitorConfigurationResponse": {
        "title": "Internal Monitor Configuration",
        "properties": {
          "id": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Id"
              }
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "internal_monitor"
            ],
            "description": "The type of the configuration entry"
          },
          "cron": {
            "type": "string",
            "format": "Quartz Cron",
            "example": "0 0 0 ? * * *",
            "description": "Cron defining when to run internal monitor checks"
          }
        },
        "required": [
          "id",
          "type",
          "cron"
        ]
      },
      "SystemConfiguration001": {
        "title": "SYS-CONF-001",
        "description": "Unexpected error",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SYS-CONF-001"
            ]
          },
          "message": {
            "enum": [
              "Unexpected error"
            ]
          },
          "title": {
            "enum": [
              "Unexpected error"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "LicenseConfiguration": {
        "title": "License Configuration",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "license"
            ],
            "description": "The type of the configuration entry"
          },
          "triggers": {
            "allOf": [
              {
                "$ref": "#/components/schemas/TriggersLicenseConfiguration"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "InternalMonitorConfiguration": {
        "title": "Internal Monitor Configuration",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "internal_monitor"
            ],
            "description": "The type of the configuration entry"
          },
          "cron": {
            "type": "string",
            "format": "Quartz Cron",
            "example": "0 0 0 ? * * *",
            "description": "Cron defining when to run internal monitor checks"
          }
        },
        "required": [
          "type",
          "cron"
        ]
      },
      "SystemConfiguration002": {
        "title": "SYS-CONF-002",
        "description": "Invalid System Configuration Entry",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SYS-CONF-002"
            ]
          },
          "message": {
            "enum": [
              "Invalid System Configuration Entry"
            ]
          },
          "title": {
            "enum": [
              "Invalid System Configuration Entry"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      },
      "SystemConfiguration003": {
        "title": "SYS-CONF-003",
        "description": "System Configuration Entry not found",
        "allOf": [
          {
            "$ref": "#/components/schemas/BasicError"
          }
        ],
        "properties": {
          "error": {
            "enum": [
              "SYS-CONF-003"
            ]
          },
          "message": {
            "enum": [
              "System Configuration Entry not found"
            ]
          },
          "title": {
            "enum": [
              "System Configuration Entry not found"
            ]
          }
        },
        "required": [
          "error",
          "message",
          "title"
        ]
      }
    }
  },
  "x-tagGroups": [
    {
      "name": "Certificate APIs",
      "tags": [
        "lifecycle",
        "certificate"
      ]
    },
    {
      "name": "SSH Certificate APIs",
      "tags": [
        "ssh.lifecycle",
        "ssh.certificate"
      ]
    },
    {
      "name": "Identity management and security",
      "tags": [
        "security.identity.local",
        "security.identity.provider",
        "security.principal",
        "security.principalinfo",
        "security.role",
        "security.credential"
      ]
    },
    {
      "name": "Key Management",
      "tags": [
        "crypto.keystore",
        "crypto.key",
        "crypto.hsm"
      ]
    },
    {
      "name": "Event APIs",
      "tags": [
        "event",
        "event.report"
      ]
    },
    {
      "name": "Configuration APIs",
      "tags": [
        "ca",
        "template",
        "ssh.ca",
        "ssh.template",
        "extension.eku",
        "ocsp.signer",
        "timestamping.signer",
        "timestamping.ntp",
        "timestamping.authority",
        "trigger",
        "rfc5280",
        "openssh",
        "trustchain",
        "system.configuration",
        "crl",
        "ssh.krl",
        "queue",
        "system.proxy",
        "adoc",
        "license"
      ]
    }
  ]
}